📌  相关文章
📜  如何在现有的 Pandas DataFrame 中添加一行?(1)

📅  最后修改于: 2023-12-03 15:09:03.123000             🧑  作者: Mango

在现有的 Pandas DataFrame 中添加一行

在数据分析中,经常需要在现有的 Pandas DataFrame 中新增一行数据。下面介绍几种实现方法。

方法一:使用 loc 函数

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 函数对新增行进行赋值操作。

方法二:使用 append 函数

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 函数实现新增行赋值操作。