如何使用 Pandas 向 DataFrame 中添加行
参考:pandas append row to dataframe
在数据分析和数据处理中,经常需要对数据进行增加或修改。Pandas 是一个强大的 Python 数据处理库,它提供了多种方式来操作 DataFrame。本文将详细介绍如何使用 Pandas 向 DataFrame 中添加行,包括不同的方法和场景,以及每种方法的具体代码示例。
1. 使用 append()
方法添加单行
Pandas 的 append()
方法可以用来向 DataFrame 添加单行或多行数据。这是最直接的方法之一。
示例代码 1:使用字典添加单行
import pandas as pd
# 创建一个初始 DataFrame
df = pd.DataFrame({
'Name': ['Alice', 'Bob'],
'Website': ['pandasdataframe.com', 'pandasdataframe.com'],
'Age': [25, 30]
})
# 创建一个新行的字典
new_row = {'Name': 'Charlie', 'Website': 'pandasdataframe.com', 'Age': 35}
# 使用 _append() 添加新行
df = df._append(new_row, ignore_index=True)
print(df)
Output:
2. 使用 loc[]
或 iloc[]
方法添加行
如果你知道新行的索引位置,可以使用 loc[]
或 iloc[]
方法直接在该位置添加新行。
示例代码 2:使用 loc[]
添加新行
import pandas as pd
# 创建一个初始 DataFrame
df = pd.DataFrame({
'Name': ['Alice', 'Bob'],
'Website': ['pandasdataframe.com', 'pandasdataframe.com'],
'Age': [25, 30]
})
# 使用 loc[] 添加新行
df.loc[len(df)] = ['Charlie', 'pandasdataframe.com', 35]
print(df)
Output:
3. 使用 concat()
方法合并 DataFrame
当需要添加多行数据时,可以使用 concat()
方法将两个 DataFrame 合并。
示例代码 3:使用 concat()
合并 DataFrame
import pandas as pd
# 创建一个初始 DataFrame
df1 = pd.DataFrame({
'Name': ['Alice', 'Bob'],
'Website': ['pandasdataframe.com', 'pandasdataframe.com'],
'Age': [25, 30]
})
# 创建另一个 DataFrame
df2 = pd.DataFrame({
'Name': ['Charlie', 'David'],
'Website': ['pandasdataframe.com', 'pandasdataframe.com'],
'Age': [35, 40]
})
# 使用 concat() 合并 DataFrame
df = pd.concat([df1, df2], ignore_index=True)
print(df)
Output:
4. 使用 DataFrame.append()
添加多行
如果有多行数据需要添加,可以构建一个新的 DataFrame 然后使用 append()
方法。
示例代码 4:使用 DataFrame 添加多行
import pandas as pd
# 创建一个初始 DataFrame
df = pd.DataFrame({
'Name': ['Alice', 'Bob'],
'Website': ['pandasdataframe.com', 'pandasdataframe.com'],
'Age': [25, 30]
})
# 创建一个新的 DataFrame
new_data = pd.DataFrame({
'Name': ['Charlie', 'David'],
'Website': ['pandasdataframe.com', 'pandasdataframe.com'],
'Age': [35, 40]
})
# 使用 _append() 添加新的 DataFrame
df = df._append(new_data, ignore_index=True)
print(df)
Output:
5. 使用 pd.Series
添加行
可以使用 pd.Series
创建一个新行,然后添加到 DataFrame 中。
示例代码 5:使用 pd.Series
添加新行
import pandas as pd
# 创建一个初始 DataFrame
df = pd.DataFrame({
'Name': ['Alice', 'Bob'],
'Website': ['pandasdataframe.com', 'pandasdataframe.com'],
'Age': [25, 30]
})
# 创建一个新行的 Series
new_row = pd.Series(['Charlie', 'pandasdataframe.com', 35], index=df.columns)
# 使用 _append() 添加新行
df = df._append(new_row, ignore_index=True)
print(df)
Output:
结论
在本文中,我们详细介绍了使用 Pandas 向 DataFrame 中添加行的多种方法。每种方法都有其适用场景,例如使用 append()
方法可以快速添加少量行,而使用 concat()
方法则更适合于合并大量数据。