- Pandas Series: append() function
- pandas.Series.add#
- pandas.Series.append¶
- How to Append Pandas Series to DataFrame
- Setup
- 1: Append Series to DataFrame — pd.concat as column
- 2: Append Series to DataFrame — pd.concat as row
- 3. Add Series to DataFrame with append
- Append Series as a row
- 4. Add Series to DataFrame as column
- Conclusion
- pandas.Series.append¶
Pandas Series: append() function
The append() function is used to concatenate two or more Series.
Series.append(self, to_append, ignore_index=False, verify_integrity=False)
Name | Description | Type/Default Value | Required / Optional |
---|---|---|---|
to_append | Series to append with self. | Series or list/tuple of Series | Required |
ignore_index | If True, do not use the index labels. | bool Default Value: False | Required |
verify_integrity | If True, raise Exception on creating index with duplicates. | bool Default Value: False | Required |
Returns: Series — Concatenated Series.
Iteratively appending to a Series can be more computationally intensive than a single concatenate. A better solution is to append values to a list and then concatenate the list with the original Series all at once.
import numpy as np import pandas as pd s1 = pd.Series([2, 3, 4]) s2 = pd.Series([5, 6, 7]) s3 = pd.Series([5, 6, 7], index=[4, 5, 6]) s1.append(s2)
0 2 1 3 2 4 0 5 1 6 2 7 dtype: int64
import numpy as np import pandas as pd s1 = pd.Series([2, 3, 4]) s2 = pd.Series([5, 6, 7]) s3 = pd.Series([5, 6, 7], index=[4, 5, 6]) s1.append(s3)
0 2 1 3 2 4 4 5 5 6 6 7 dtype: int64
Example — With ignore_index set to True:
import numpy as np import pandas as pd s1 = pd.Series([2, 3, 4]) s2 = pd.Series([5, 6, 7]) s3 = pd.Series([5, 6, 7], index=[4, 5, 6]) s1.append(s2, ignore_index=True)
0 2 1 3 2 4 3 5 4 6 5 7 dtype: int64
With verify_integrity set to True:
s1.append(s2, verify_integrity=True) Traceback (most recent call last): . ValueError: Indexes have overlapping values: [0, 1, 2]
Follow us on Facebook and Twitter for latest update.
- Weekly Trends
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- JavaScript String Exercises
- JavaScript HTML Form Validation
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join
- JavaScript functions Exercises
- Python Tutorial
- Python Array Exercises
- SQL Cross Join
- C# Sharp Array Exercises
We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook
pandas.Series.add#
Return Addition of series and other, element-wise (binary operator add ).
Equivalent to series + other , but with support to substitute a fill_value for missing data in either one of the inputs.
Parameters other Series or scalar value level int or name
Broadcast across a level, matching Index values on the passed MultiIndex level.
fill_value None or float value, default None (NaN)
Fill existing missing (NaN) values, and any new element needed for successful Series alignment, with this value before computation. If data in both corresponding Series locations is missing the result of filling (at that location) will be missing.
Unused. Parameter needed for compatibility with DataFrame.
The result of the operation.
Reverse of the Addition operator, see Python documentation for more details.
>>> a = pd.Series([1, 1, 1, np.nan], index=['a', 'b', 'c', 'd']) >>> a a 1.0 b 1.0 c 1.0 d NaN dtype: float64 >>> b = pd.Series([1, np.nan, 1, np.nan], index=['a', 'b', 'd', 'e']) >>> b a 1.0 b NaN d 1.0 e NaN dtype: float64 >>> a.add(b, fill_value=0) a 2.0 b 1.0 c 1.0 d 1.0 e NaN dtype: float64
pandas.Series.append¶
If True, the resulting axis will be labeled 0, 1, …, n — 1.
verify_integrity bool, default False
If True, raise Exception on creating index with duplicates.
General function to concatenate DataFrame or Series objects.
Iteratively appending to a Series can be more computationally intensive than a single concatenate. A better solution is to append values to a list and then concatenate the list with the original Series all at once.
>>> s1 = pd.Series([1, 2, 3]) >>> s2 = pd.Series([4, 5, 6]) >>> s3 = pd.Series([4, 5, 6], index=[3, 4, 5]) >>> s1.append(s2) 0 1 1 2 2 3 0 4 1 5 2 6 dtype: int64
>>> s1.append(s3) 0 1 1 2 2 3 3 4 4 5 5 6 dtype: int64
With ignore_index set to True:
>>> s1.append(s2, ignore_index=True) 0 1 1 2 2 3 3 4 4 5 5 6 dtype: int64
With verify_integrity set to True:
>>> s1.append(s2, verify_integrity=True) Traceback (most recent call last): . ValueError: Indexes have overlapping values: [0, 1, 2]
© Copyright 2008-2021, the pandas development team.
How to Append Pandas Series to DataFrame
To append Series to DataFrame in Pandas we have several options:
(1) Append Series to DataFrame by pd.concat
pd.concat([df, humidity.to_frame()], axis=1)
(2) Append Series with — append (will be deprecated)
df.append(humidity, ignore_index=True)
(3) Append the Series to DataFrame with assign
Setup
In the examples, we’ll use the following setup, which consists of 1 DataFrame and 2 Series:
import pandas as pd import matplotlib.pyplot as plt data= df = pd.DataFrame(data)
day | temp | |
---|---|---|
0 | 1 | 9 |
1 | 2 | 8 |
2 | 3 | 6 |
3 | 4 | 13 |
4 | 5 | 10 |
ser_col = pd.Series(data=[0.89, 0.86, 0.54, 0.73, 0.45], name='humidity')
which contains data for a new column:
0 0.89 1 0.86 2 0.54 3 0.73 4 0.45 Name: humidity, dtype: float64
And a Series which contains data for a new row:
day 6 temp 15 dtype: int64
1: Append Series to DataFrame — pd.concat as column
Let’s start by appending Pandas Series to DataFrame by method pd.concat() .
We will add the Series to the DataFrame as a new column — this is possible by using parameter — axis=1 :
pd.concat([df, ser_col.to_frame()], axis=1)
This will append the Series as a new column to the DataFrame:
day | temp | humidity | |
---|---|---|---|
0 | 1 | 9 | 0.89 |
1 | 2 | 8 | 0.86 |
2 | 3 | 6 | 0.54 |
3 | 4 | 13 | 0.73 |
4 | 5 | 10 | 0.45 |
More information for this method: pandas.concat
2: Append Series to DataFrame — pd.concat as row
Next, we’ll add the Series as a new row to a DataFrame. The method concat can be used once again:
pd.concat([df, ser_row.to_frame().T], ignore_index=True)
We can ignore the index by using — ignore_index=True :
day | temp | |
---|---|---|
0 | 1 | 9 |
1 | 2 | 8 |
2 | 3 | 6 |
3 | 4 | 13 |
4 | 5 | 10 |
5 | 6 | 15 |
This is equivalent to axis=0
3. Add Series to DataFrame with append
Let’s see how to use the method pd.append() which will be deprecated in future. But it’s still working and can be useful in some cases.
Pro Tip 1
Method pd.append is deprecated since version 1.4.0: Use concat() instead.
Append Series as a row
To append Pandas Series as a new row to a DataFrame we can do:
df.append(ser_row,ignore_index=True)
day | temp | |
---|---|---|
0 | 1 | 9 |
1 | 2 | 8 |
2 | 3 | 6 |
3 | 4 | 13 |
4 | 5 | 10 |
5 | 6 | 15 |
More information for this method: pandas.DataFrame.append
4. Add Series to DataFrame as column
Finally, let’s take a look at a solution with assigning a new Series as a column in Pandas DataFrame. We can simply assign the Series to the DataFrame:
The result is the a new column:
day | temp | humidity | |
---|---|---|---|
0 | 1 | 9 | 0.89 |
1 | 2 | 8 | 0.86 |
2 | 3 | 6 | 0.54 |
3 | 4 | 13 | 0.73 |
4 | 5 | 10 | 0.45 |
Pro Tip 1
Pandas Series can be considered as a DataFrame column — that’s why we can add them to a DataFrame.
Conclusion
In this article, we looked at different solutions for appending/adding a Series to DataFrame in Pandas. We focused on the most popular solutions with pd.concat but also covered a few alternatives.
We saw how to add a Series as a column or a row.
By using DataScientYst — Data Science Simplified, you agree to our Cookie Policy.
pandas.Series.append¶
Iteratively appending to a Series can be more computationally intensive than a single concatenate. A better solution is to append values to a list and then concatenate the list with the original Series all at once.
>>> s1 = pd.Series([1, 2, 3]) >>> s2 = pd.Series([4, 5, 6]) >>> s3 = pd.Series([4, 5, 6], index=[3,4,5]) >>> s1.append(s2) 0 1 1 2 2 3 0 4 1 5 2 6 dtype: int64
>>> s1.append(s3) 0 1 1 2 2 3 3 4 4 5 5 6 dtype: int64
With ignore_index set to True:
>>> s1.append(s2, ignore_index=True) 0 1 1 2 2 3 3 4 4 5 5 6 dtype: int64
With verify_integrity set to True:
>>> s1.append(s2, verify_integrity=True) Traceback (most recent call last): . ValueError: Indexes have overlapping values: [0, 1, 2]