详解pandas.DataFrame.to_dict()(将数据框转换为字典)函数使用方法

  • Post category:Python

pandas.DataFrame.to_dict() 是 Pandas DataFrame 中的一个方法,用于将 DataFrame 转换为 Python 字典对象。该方法可以将 DataFrame 的行或列,或者整个 DataFrame 以合适的维度转换成字典。在 Pandas 数据处理过程中,将 DataFrame 转换为字典非常有用。下面是该方法的详细说明及其使用方法攻略。

作用

pandas.DataFrame.to_dict() 可以将 DataFrame 转换为各种字典格式:

  • 当参数 orient='dict' 时,产生一个基于列名为键、每列数据为值的字典。这是 to_dict 的默认参数设置。
  • 当参数 orient='list' 时,产生一个基于行索引为键、行数据为值的字典。
  • 当参数 orient='series' 时,产生一个基于列名为键、每列转换为 pandas.Series 对象的字典。
  • 当传递其他或自定义的 orient 时,产生不同的字典格式。

在使用过程中,to_dict()方法可以轻松地将Pandas DataFrame转为Python的字典,便于数据分析,字典实现了一种高效访问稀疏的数据结构。

使用方法

下面是对 pandas.DataFrame.to_dict() 的使用方法:

DataFrame.to_dict(self, orient='dict', into=<class 'dict'>)
  • orient:可选参数,默认值为 dict,指定字典的格式,可用参数为 dictserieslistsplit,默认值为 dict
  • into:可选参数,默认值为 dict,设置输出对象的类型,通常不需要设置此参数。一般采用默认值即可。

下面是通过2个实例了解 Pandas DataFrame 的 to_dict() 方法。

示例1

import pandas as pd

df = pd.DataFrame({'name': ['Alice', 'Bob'], 'age': [25, 30]})
print(df.to_dict())

输出结果:

{'name': {0: 'Alice', 1: 'Bob'}, 'age': {0: 25, 1: 30}}

分析:默认情况下, to_dict() 方法会将列名作为字典的键,每一列的数据将会以 key-value 形式输出。

示例2

import pandas as pd

df = pd.DataFrame({'name': ['Alice', 'Bob'], 'age': [25, 30]})
print(df.to_dict('list'))

输出结果:

{'name': ['Alice', 'Bob'], 'age': [25, 30]}

分析:参数orient的值为’list‘时,将行转成一个字典值的列表,输出结果就是将每行数据转成一个字典,在放到一个列表中。可以看出,字典的 key 是行的索引,value 是一个数组。