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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。