How to add one row in an existing Pandas DataFrame?



How to add one row in an existing Pandas DataFrame?

In this article, we’ll see how to add a new row of values to an existing dataframe. This can be used when we want to insert a new entry in our data that we might have missed adding earlier. There are different methods to achieve this. Now let’s see with the help of examples how we can do this

Example 1:

We can add a single row using DataFrame.loc. We can add the row at the last in our dataframe. We can get the number of rows using len(DataFrame.index) for determining the position at which we need to add the new row.

from IPython.display import display, HTML
 
import pandas as pd
from numpy.random import randint
 
dict = {'Name':['Martha', 'Tim', 'Rob', 'Georgia'],
        'Maths':[87, 91, 97, 95],
        'Science':[83, 99, 84, 76]
       }
 
df = pd.DataFrame(dict)
 
display(df)
 
df.loc[len(df.index)] = ['Amy', 89, 93
 
display(df)

Output:

add-row-to-existing-pandas-dataframe

Example 2:

We can also add a new row using the DataFrame.append() function

from IPython.display import display, HTML
 
import pandas as pd
import numpy as np
 
dict = {'Name':['Martha', 'Tim', 'Rob', 'Georgia'],
        'Maths':[87, 91, 97, 95],
        'Science':[83, 99, 84, 76]
       }
 
df = pd.DataFrame(dict)
 
display(df)
 
df2 = {'Name': 'Amy', 'Maths': 89, 'Science': 93}
df = df.append(df2, ignore_index = True)
 
display(df)

Output:

add-row-to-existing-pandas-dataframe

Example 3:

We can also add multiple rows using the pandas.concat() by creating a new dataframe of all the rows that we need to add and then appending this dataframe to the original dataframe.

from IPython.display import display, HTML
 
import pandas as pd
import numpy as np
 
dict = {'Name':['Martha', 'Tim', 'Rob', 'Georgia'],
        'Maths':[87, 91, 97, 95],
        'Science':[83, 99, 84, 76]
       }
 
df1 = pd.DataFrame(dict)
display(df1)
 
dict = {'Name':['Amy', 'Maddy'],
        'Maths':[89, 90],
        'Science':[93, 81]
       }
 
df2 = pd.DataFrame(dict)
display(df2)
 
df3 = pd.concat([df1, df2], ignore_index = True)
df3.reset_index()
 
display(df3)

Output:

add-row-to-existing-pandas-dataframe

 

Last Updated on July 31, 2021 by admin

Leave a Reply

Your email address will not be published. Required fields are marked *

Recommended Blogs