当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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