」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在沒有錯誤的情況下將清單插入 Pandas DataFrame 單元格?

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

發佈於2024-11-06
瀏覽:677

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

Solution

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

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

這將如預期將abc 清單插入1B 中:

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

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

df['B'] = df['B'].astype('object')
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3