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 dataframe to the end of the given dataframe, returning a new dataframe object. Columns not in the original dataframes are added as new columns and the new cells are populated with NaN value.

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 index with duplicates.
sort : 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.

Returns: appended : DataFrame

Example #1: Create two data frames and append the second to the first one.

filter_none

edit
close

play_arrow

link
brightness_4
code

# Importing pandas as pd
import pandas as pd
  
# Creating the first Dataframe using dictionary
df1 = df = pd.DataFrame({"a":[1, 2, 3, 4],
                         "b":[5, 6, 7, 8]})
  
# Creating the Second Dataframe using dictionary
df2 = pd.DataFrame({"a":[1, 2, 3],
                    "b":[5, 6, 7]})
  
# Print df1
print(df1, "\n")
  
# Print df2
df2

chevron_right



Now append df2 at the end of df1.

filter_none

edit
close

play_arrow

link
brightness_4
code

# to append df2 at the end of df1 dataframe
df1.append(df2)

chevron_right


Output :

Notice the index value of 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.

filter_none

edit
close

play_arrow

link
brightness_4
code

# A continuous index value will be maintained
# across the rows in the new appended data frame.
df.append(df2, ignore_index = True)

chevron_right


Output :

 
Example #2: Append dataframe of different shape.

For unequal no. of columns in the data frame, non-existent value in one of the dataframe will be filled with NaN values.

filter_none

edit
close

play_arrow

link
brightness_4
code

# Importing pandas as pd
import pandas as pd
  
# Creating the first Dataframe using dictionary
df1 = pd.DataFrame({"a":[1, 2, 3, 4],
                    "b":[5, 6, 7, 8]})
  
# Creating the Second Dataframe using dictionary
df2 = pd.DataFrame({"a":[1, 2, 3],
                    "b":[5, 6, 7], 
                    "c":[1, 5, 4]})
  
# for appending df2 at the end of df1
df.append(df2, ignore_index = True)

chevron_right


Output :

Notice, the new cells are populated with NaN values.



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.