How to add data to a dataframe in python

View Discussion

Improve Article

Save Article

  • Read
  • Discuss
  • View Discussion

    Improve Article

    Save Article

    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. 

    Return Type: appended : DataFrame

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

    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(df1, "\n")

    df2

    Output: 

    How to add data to a dataframe in python
    How to add data to a dataframe in python

    Now append df2 at the end of df1. 

    Python3

    Output:

    How to add data to a dataframe in python

    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)

    How to add data to a dataframe in python
    Output:

    How to add data to a dataframe in python

    Example #2: Append 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:

    How to add data to a dataframe in python

    Notice, that the new cells are populated with NaN values.


    How do you add data to a Dataframe in Python?

    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. Parameters: other : DataFrame or Series/dict-like object, or list of these.

    How do you add a value to a Dataframe column in Python?

    You can use the assign() function to add a new column to the end of a pandas DataFrame: df = df. assign(col_name=[value1, value2, value3, ...])

    How do you add data in existing data in Python?

    Here are four different ways that data can be added to an existing list..
    append() Method. Adding data to the end of a list is accomplished using the . ... .
    insert() Method. Use the insert() method when you want to add data to the beginning or middle of a list. ... .
    extend() Method. ... .
    The Plus Operator (+).

    How do you add data to a column in a Dataframe?

    In pandas you can add/append a new column to the existing DataFrame using DataFrame. insert() method, this method updates the existing DataFrame with a new column. DataFrame. assign() is also used to insert a new column however, this method returns a new Dataframe after adding a new column.