📅  最后修改于: 2023-12-03 15:09:03.123000             🧑  作者: Mango
在数据分析中,经常需要在现有的 Pandas DataFrame 中新增一行数据。下面介绍几种实现方法。
loc 函数是访问 DataFrame 的标签索引方式之一,利用它可以方便地新增一行数据。代码如下:
import pandas as pd
# 新建 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
# 新增一行数据
df.loc[df.shape[0]] = [7, 8]
print(df)
输出结果:
A B
0 1 4
1 2 5
2 3 6
3 7 8
此方法利用了 DataFrame 的 shape 属性,定位新增行的索引号,同时也可以通过 loc 函数对新增行进行赋值操作。
DataFrame 的 append 函数可以将一个 DataFrame 或 Series 追加到当前 DataFrame 的尾部,实现新增行的目的。代码如下:
import pandas as pd
# 新建 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
# 新增一行数据
new_row = pd.Series({'A': 7, 'B': 8})
df = df.append(new_row, ignore_index=True)
print(df)
输出结果:
A B
0 1 4
1 2 5
2 3 6
3 7 8
注意:使用 append 函数时需要将新增行定义为 Series 或新的 DataFrame,在新的 DataFrame 中,将新增行的 ignore_index 参数设置为 True,这将重新分配行的索引号。
利用 Python 的列表,也可以方便地实现 DataFrame 的新增行。代码如下:
import pandas as pd
# 新建 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
# 新增一行数据
new_row = [7, 8]
df.loc[len(df)] = new_row
print(df)
输出结果:
A B
0 1 4
1 2 5
2 3 6
3 7 8
此方法利用了 Python 列表的长度,利用 len 函数获取新增行的索引号。然后通过 loc 函数实现新增行赋值操作。