首頁 >後端開發 >Python教學 >如何在 Python 中高效率地為 Pandas DataFrame 新增列?

如何在 Python 中高效率地為 Pandas DataFrame 新增列?

DDD
DDD原創
2024-12-22 11:32:09334瀏覽

How to Efficiently Add a New Column to a Pandas DataFrame in Python?

向現有 DataFrame 新增欄位

在資料操作任務中,通常需要使用附加列來擴充現有 DataFrame。在這裡,我們解決如何使用 Pandas 在 Python 中實現此目的的問題。

問題陳述

考慮以下具有索引列和非連續數字的行的DataFrame :

          a         b         c         d
2  0.671399  0.101208 -0.181532  0.241273
3  0.446172 -0.243316  0.051767  1.577318
5  0.614758  0.075793 -0.451460 -0.012493

我們的目標是在不改變的情況下向此DataFrame 新增一個新列“e”現有資料。新列應與 DataFrame 具有相同的長度。

解決方案

方法1(分配):

將一系列值作為新欄位加入DataFrame 的最有效方法是使用assign function:

df1 = df1.assign(e=pd.Series(np.random.randn(sLength)).values)

其中:

  • df1 是原始DataFrame
  • sLength 是原始DataFrame 的長度
  • np.random . sLength)產生一系列隨機數value

方法2 (loc):

另一種方法是使用loc 訪問器來設定new的值column:

df1.loc[:,'f'] = pd.Series(np.random.randn(sLength), index=df1.index)

其中:

  • df1 是原始DataFrame
  • 'f' 是新欄位的名稱
  • 'f' 是新欄位的名稱
  • pd . Series(np.random.randn(sLength))產生一系列隨機value

df1.index 設定新列的索引以符合原始DataFrame

兩種方法都有效地將所需的新列'e' 新增至DataFrame ,保留現有資料.

以上是如何在 Python 中高效率地為 Pandas DataFrame 新增列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn