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 字典時,這非常有用。
返回值
根據指定的 orient
和 into
,返回類型會有所不同。
例子
考慮以下 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})})
相關用法
- Python Pandas DataFrame to_csv方法用法及代碼示例
- Python Pandas DataFrame to_period方法用法及代碼示例
- Python Pandas DataFrame to_json方法用法及代碼示例
- Python Pandas DataFrame to_timestamp方法用法及代碼示例
- Python Pandas DataFrame to_numpy方法用法及代碼示例
- Python PySpark DataFrame toDF方法用法及代碼示例
- Python PySpark DataFrame toJSON方法用法及代碼示例
- Python PySpark DataFrame toPandas方法用法及代碼示例
- Python Pandas DataFrame tz_convert方法用法及代碼示例
- Python Pandas DataFrame tail方法用法及代碼示例
- Python Pandas DataFrame transform方法用法及代碼示例
- Python Pandas DataFrame truncate方法用法及代碼示例
- Python Pandas DataFrame tz_localize方法用法及代碼示例
- Python Pandas DataFrame truediv方法用法及代碼示例
- Python Pandas DataFrame transpose方法用法及代碼示例
- Python Pandas DataFrame tshift方法用法及代碼示例
- Python Pandas DataFrame take方法用法及代碼示例
- Python PySpark DataFrame tail方法用法及代碼示例
- Python PySpark DataFrame transform方法用法及代碼示例
- Python PySpark DataFrame take方法用法及代碼示例
- Python Pandas DataFrame empty屬性用法及代碼示例
- Python Pandas DataFrame pop方法用法及代碼示例
- Python Pandas DataFrame nsmallest方法用法及代碼示例
- Python Pandas DataFrame sample方法用法及代碼示例
- Python Pandas DataFrame items方法用法及代碼示例
注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 Pandas DataFrame | to_dict method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。