首頁  >  文章  >  後端開發  >  如何在沒有錯誤的情況下將清單插入 Pandas DataFrame 單元格?

如何在沒有錯誤的情況下將清單插入 Pandas DataFrame 單元格?

Linda Hamilton
Linda Hamilton原創
2024-11-02 08:50:29677瀏覽

How to Insert Lists into Pandas DataFrame Cells Without Errors?

將清單插入Pandas 單元格

問題

在Python 中,嘗試將清單插入Pandas DataFrame 的單元格可能會導致錯誤或意想不到的結果。例如,當嘗試將清單插入DataFrame df 的儲存格1B 時:

df = pd.DataFrame({'A': [12, 23], 'B': [np.nan, np.nan]})
abc = ['foo', 'bar']

以下嘗試將abc 清單插入1B,但會產生錯誤或不正確的插入:

  1. df.ix[1,'B'] = abc - 錯誤:使用可迭代設定時必須具有相等的len 鍵和值
  2. df.ix[1,'B'] = [abc ] -插入一個包含一個元素的列表: [['foo', 'bar']]
  3. df.ix[1,'B'] = ', '.join(abc) - 插入一個字串: "foo, bar"
  4. df.ix[1,'B'] = [', '.join(abc)] - 插入一個包含一個元素的列表:['foo, bar']

解決方案

要將列表無錯誤地插入到DataFrame 的單元格中,請使用at 方法,該方法始終引用單個值:

df.at[1, 'B'] = ['foo', 'bar']

這將插入abc list 按照預期插入1B:

    A  B
0  12  NaN
1  23  ['foo', 'bar']

請注意,DataFrame 列必須具有dtype=object 才能允許清單插入。例如:

df['B'] = df['B'].astype('object')

以上是如何在沒有錯誤的情況下將清單插入 Pandas DataFrame 單元格?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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