[946] Add a new row to a Pandas DataFrame

发布时间 2023-11-21 07:37:12作者: McDelfino

To add a new row to a Pandas DataFrame, we can use the append method or the loc indexer.

Here are examples of both methods:

Using append method:

import pandas as pd 

# Sample DataFrame
data = {'ID': [1, 2, 3], 'Name': ['Alice', 'Bob', 'Charlie']}
df = pd.DataFrame(data)

# New row data
new_row = {'ID': 4, 'Name': 'David'}

# Append the new row
df = df.append(new_row, ignore_index=True)

# Display the updated DataFrame
print(df) 

In this example, ignore_index=True is used to reset the index of the resulting DataFrame.

Using loc indexer: (with dictionary or list)

# Sample DataFrame
data = {'ID': [1, 2, 3], 'Name': ['Alice', 'Bob', 'Charlie']}
df = pd.DataFrame(data)

# New row data
new_row = {'ID': 4, 'Name': 'David'}

# Use loc to add the new row
df.loc[len(df)] = new_row 

# Alternatively, we can also asign a list to the new row
df.loc[len(df)] = [5, "Alex"]

df 

In this example, len(df) is used to determine the index for the new row, effectively adding it at the end of the DataFrame.

Choose the method that suits your preferences and requirements. Keep in mind that both methods create a new DataFrame with the added row rather than modifying the original DataFrame in place. If you want to modify the original DataFrame, you need to reassign the result to the original variable (df = df.append(...) or df.loc[len(df)] = ....