首页  >  文章  >  后端开发  >  如何在 Pandas DataFrame 的指定位置插入一行?

如何在 Pandas DataFrame 的指定位置插入一行?

DDD
DDD原创
2024-10-23 06:39:01676浏览

How to Insert a Row into a Pandas DataFrame at a Specified Position?

在 Pandas DataFrame 中插入一行

在 Pandas 中,您有一个 DataFrame 并且想要在特定索引或位置插入一行。一种常见的方法是使用 loc(用于基于标签的索引)或 iloc(用于基于整数的索引)。

让我们通过一个示例来理解这一点:

考虑以下 DataFrame df:

s1 = pd.Series([5, 6, 7])
s2 = pd.Series([7, 8, 9])

df = pd.DataFrame([list(s1), list(s2)],  columns =  ["A", "B", "C"])

print(df)

输出:

   A  B  C
0  5  6  7
1  7  8  9

现在,您想要将新行(例如 [2, 3, 4])插入到现有 DataFrame 的开头(索引 0)。

要在特定索引处插入行,您可以使用 loc 将行分配给所需的索引。例如,插入 [2, 3, 4] 作为第一行:

df.loc[-1] = [2, 3, 4]

但是,此操作会在现有 DataFrame 之前添加一行,导致索引为负。要向上移动现有索引并使新插入的行成为第一行,您可以通过递增索引来更新索引:

df.index = df.index + 1

最后,按索引对 DataFrame 进行排序以获得所需的顺序:

df = df.sort_index()

因此,您将获得更新的 DataFrame,其中插入的行位于索引 0 处:

   A  B  C
0  2  3  4
1  5  6  7
2  7  8  9

此方法允许您通过分配在 DataFrame 内的任何位置插入新行值到特定索引。

以上是如何在 Pandas DataFrame 的指定位置插入一行?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn