首頁  >  文章  >  後端開發  >  如何在 Pandas DataFrame 的指定位置插入一行?

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

DDD
DDD原創
2024-10-23 06:39:01585瀏覽

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