Python – Pandas dataframe.append()
Python is a great language for doing data analysis, primarily because of the fantastic ecosystem of data-centric Python packages. Pandas is one of those packages and makes importing and analyzing data much easier. Pandas dataframe.append() function is used to append rows of other data frames to the end of the given data frame, returning a new data frame object. Columns not in the original data frames are added as new columns and the new cells are populated with NaN value.
Pandas dataframe.append() Syntax
Syntax: DataFrame.append(other, ignore_index=False, verify_integrity=False, sort=None)
Parameters:
- other: DataFrame or Series/dict-like object, or list of these
- ignore_index: If True, do not use the index labels.
- verify_integrity: If True, raise ValueError on creating an index with duplicates.
- sortPandas: Sort columns if the columns of self and other are not aligned. The default sorting is deprecated and will change to not-sorting in a future version of pandas. Explicitly pass sort=True to silence the warning and sort. Explicitly pass sort=False to silence the warning and not sort.
Return Type: appended : DataFrame
NOTE: As of Pandas version 2.0, the .append() method is no longer in use. It is important to keep this in mind while working with Pandas. More efficient alternatives for concatenating DataFrames are the .concat() function from the pandas.DataFrame module.
dataframe.append() in Pandas Examples
Create and Append a Dataframe into another Dataframe
In this example, we are creating two data frames and append the second to the first one. In this part we are just creating a dataframe and then printing the dataframes.
Python3
import pandas as pd
df1 = df = pd.DataFrame({ "a" :[ 1 , 2 , 3 , 4 ],
"b" :[ 5 , 6 , 7 , 8 ]})
df2 = pd.DataFrame({ "a" :[ 1 , 2 , 3 ],
"b" :[ 5 , 6 , 7 ]})
print ( "Printing df1" )
print (df1, "\n" )
print ( "Printing df2" )
df2
|
Output
Printing df1
a b
0 1 5
1 2 6
2 3 7
3 4 8
Printing df2
a b
0 1 5
1 2 6
2 3 7
In this part, we are appending df2 at the end of df1.
Output
a b
0 1 5
1 2 6
2 3 7
3 4 8
4 1 5
5 2 6
6 3 7
Pandas Append Two DataFrames Ignore Index
Notice the index value of the second data frame is maintained in the appended data frame. If we do not want it to happen then we can set ignore_index=True.
Python3
df1.append(df2, ignore_index = True )
|
Output
a b
0 1 5
1 2 6
2 3 7
3 4 8
4 1 5
5 2 6
6 3 7
Append Dict as Row to DataFrame
In this example, we are appending dictionary as row to dataframe.
Python3
import pandas as pd
df1 = df = pd.DataFrame({ "a" : [ 1 , 2 , 3 , 4 ],
"b" : [ 5 , 6 , 7 , 8 ]})
new_row = { "a" : 10 , "b" : 10 }
df2 = df.append(new_row, ignore_index = True )
print (df2)
|
Output
a b
0 1 5
1 2 6
2 3 7
3 4 8
4 10 10
Append Dataframe of Different Shapes
In this example, we are appending dataframe of different shapes. For unequal no. of columns in the data frame, a non-existent value in one of the dataframe will be filled with NaN values.
Python3
import pandas as pd
df1 = pd.DataFrame({ "a" :[ 1 , 2 , 3 , 4 ],
"b" :[ 5 , 6 , 7 , 8 ]})
df2 = pd.DataFrame({ "a" :[ 1 , 2 , 3 ],
"b" :[ 5 , 6 , 7 ],
"c" :[ 1 , 5 , 4 ]})
df1 = df1.append(df2, ignore_index = True )
df1
|
Output
a b c
0 1 5 NaN
1 2 6 NaN
2 3 7 NaN
3 4 8 NaN
4 1 5 1.0
5 2 6 5.0
6 3 7 4.0
Notice, that the new cells are populated with NaN values.
Note: pandas.DataFrame.append is deprecated since version 1.4.0 . Rather use concat() .
Last Updated :
24 Nov, 2023
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...