首頁 > 後端開發 > Python教學 > 如何將清單插入 Python Pandas Dataframe 中的特定儲存格?

如何將清單插入 Python Pandas Dataframe 中的特定儲存格?

Patricia Arquette
發布: 2024-10-29 13:34:29
原創
457 人瀏覽過

How Can I Insert a List into a Specific Cell in a Python Pandas Dataframe?

將清單插入到Python Pandas Dataframe 中的單元格中

將清單插入到Pandas Dataframe 中的特定單元格中可能是一項棘手的任務。讓我們根據給定的範例探討各種方法和潛在問題:

原始問題:

具有以下結構的資料框「df」:

    A  B
0  12  NaN
1  23  NaN
登入後複製

和一個包含['foo', 'bar'] 的列表'abc'。目標是將此清單插入到儲存格 1B 中。

努力:

  1. df.ix[1,'B'] = abc: 拋出 ValueError由於鍵和值的長度不等。
  2. df.ix[1,'B'] = [abc]:插入包含 'abc' 清單而非單一元素的清單。
  3. df.ix[1,'B'] = ', '.join(abc):插入字串而不是列表。
  4. df.ix[1,'B'] = [', '. join(abc)]:插入一個包含連接字串的單元素清單。

解:

已棄用的 set_value 方法已替換為 at。使用 at 保證設定單一值:

<code class="python">df.at[1, 'B'] = ['foo', 'bar']</code>
登入後複製

其他注意事項:

  • 確保目標欄位具有 dtype=object 以適應清單插入。
  • 可以套用相同的方法將清單插入包含整數或字串值的儲存格。
  • 但是,當清單插入包含混合資料類型(整數和字串)的欄位時,可能會出現 ValueError發生。這可以透過在插入之前將列轉換為 dtype=object 來解決。

更新範例:

將'abc' 清單插入df2.loc[ 1,'B'] 和df3.loc[1,'B' ]:

<code class="python">df2 = pd.DataFrame({
    'A': [12],
    'B': [nan],
    'C': ['bla']
})

df3 = pd.DataFrame({
    'A': [12],
    'B': [nan],
    'C': ['bla bla'],
    'D': [['item1', 'item2'], [11, 12, 13]]
})

df2.loc[1, 'B'] = ['foo', 'bar']
df3.loc[1, 'B'] = ['foo', 'bar']</code>
登入後複製

以上是如何將清單插入 Python Pandas Dataframe 中的特定儲存格?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板