當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python Pandas DataFrame to_dict方法用法及代碼示例


Pandas DataFrame.to_dict(~) 方法將 DataFrame 轉換為 Python 字典或字典列表。

參數

1.orient | string | optional

執行轉換所依據的規則。

orient="dict"(默認)時:

{
   column_1:
      index_1: value_1
      index_2: value_2
   column_2:
      ...
}

orient="list" 時:

{
   column_1: [value_1, value_2, ...]
   column_2: [...]
   ...
}

orient="series" 時:

{
   column_1: Series(value_1, value_2, ...)
   column_2: Series(...)
   ...
}

orient="split" 時:

{
   "index": [index_1, index_2, ...]
   "columns": [column_1, column_2, ...]
   "data": [value_1, value_2, ...]
}

orient="records" 時:

[
   {
      column_1: value_1
      column_2: value_2
      ...
   },{
      column_1: value_6
      ...
   },
   ...
]

orient="index" 時:

{
   index_1: {
      column_1: value
      column_2: value
      ...
   },
   index_2: {
      column_6 ...
   },
   ...
}

2. into | class | optional

collections.abc.Mapping 子類或其實例。當您想要轉換為另一種類型的字典(例如 collections.defaultdict )而不是標準 Python 字典時,這非常有用。

返回值

根據指定的 orientinto ,返回類型會有所不同。

例子

考慮以下 DataFrame :

df = pd.DataFrame({"A":[2,3],"B":[4,5]}, index=["a","b"])
df



   A  B
a  2  4
b  3  5

指定方向

dict
df.to_dict()



{'A': {'a': 2, 'b': 3}, 'B': {'a': 4, 'b': 5}}
列表
df.to_dict(orient="list")



{'A': [2, 3], 'B': [4, 5]}
係列
df.to_dict(orient="series")



{'A': a    2
 b    3
 Name: A, dtype: int64,
 'B': a    4
 b    5
 Name: B, dtype: int64}

為了供您參考,我們再次在此處顯示df

df



   A  B
a  2  4
b  3  5
分裂
df.to_dict(orient="split")



{'index': ['a', 'b'], 'columns': ['A', 'B'], 'data': [[2, 4], [3, 5]]}
記錄
df.to_dict(orient="records")



[{'A': 2, 'B': 4}, {'A': 3, 'B': 5}]
index
df.to_dict(orient="index")



{'a': {'A': 2, 'B': 4}, 'b': {'A': 3, 'B': 5}}

初始化有序字典

要使用其類定義初始化有序字典:

from collections import OrderedDict
df.to_dict(into=OrderedDict)



OrderedDict([('A', OrderedDict([('a', 2), ('b', 3)])),
             ('B', OrderedDict([('a', 4), ('b', 5)]))])

初始化默認字典

與有序字典不同,defaultdict 必須在我們將其傳遞給 to_dict(~) 之前進行初始化:

from collections import defaultdict
my_default_dict = defaultdict(list)
df.to_dict(into=my_default_dict)



defaultdict(list,
            {'A': defaultdict(list, {'a': 2, 'b': 3}),
             'B': defaultdict(list, {'a': 4, 'b': 5})})

相關用法


注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 Pandas DataFrame | to_dict method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。