首頁 >後端開發 >Python教學 >如何將 Pandas DataFrame 轉換為具有列表值的字典?

如何將 Pandas DataFrame 轉換為具有列表值的字典?

Susan Sarandon
Susan Sarandon原創
2024-12-14 08:44:10326瀏覽

How to Convert a Pandas DataFrame to a Dictionary with List Values?

將 Pandas DataFrame 轉換為字典

在許多資料操作任務中,需要將 Pandas DataFrame 中的資料提取為方便的格式。一個常見的需求是將 DataFrame 轉換為 Python 字典,其中第一列的元素成為鍵,同一行中其他欄位的元素成為值。

範例

考慮以下DataFrame:

    ID   A   B   C
0   p    1   3   2
1   q    4   3   2
2   r    4   0   9

我們希望將此DataFrame 轉換為以下內容的字典形式:

{'p': [1,3,2], 'q': [4,3,2], 'r': [4,0,9]}

解決方案

為了實現這一點,我們可以利用Pandas 提供的to_dict() 方法。但是,為了將 DataFrame 對齊為所需的格式,我們需要將「ID」欄位設定為索引並使用 .T 轉置 DataFrame。此外,我們在 to_dict() 中指定 orient 參數來輸出每列的值清單。

以下程式碼示範了這個方法:

df.set_index('ID').T.to_dict('list')

這將產生所需的字典:

{'p': [1, 3, 2], 'q': [4, 3, 2], 'r': [4, 0, 9]}

替代選項

除了預設🎜>

替代選項
  • 除了預設🎜>替代選項
  • 除了預設的字典格式之外,Pandas 還提供了一系列使用orient參數輸出字典的選項:
  • dict:
  • 列名作為鍵,值作為索引的字典:資料對
  • 列表:
  • 列表:鍵是列名,值是列列表data
  • series:與 'list' 類似,但值是 Series 物件
  • split:列名作為鍵,資料值作為值,和索引標籤作為單獨的鍵
記錄:每一行都變成一個字典列名作為鍵,資料作為值index: 與「records」類似,但是字典的字典,索引標籤作為鍵

以上是如何將 Pandas DataFrame 轉換為具有列表值的字典?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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