看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
pandas
中的 to_dict()
方法用于将 DataFrame
或 Series
转换为字典。这个方法支持多种字典格式输出,并允许通过参数来控制输出结果的结构。下面是对 DataFrame.to_dict()
和 Series.to_dict()
的详细讲解。
DataFrame.to_dict(
orient='dict',
*,
into=<class 'dict'>,
index=True
)
orient:
'dict'
'dict'
:默认模式,输出 {column -> {index -> value}}
的嵌套字典。'list'
:输出 {column -> [values]}
的字典,即每个列对应一个列表。'series'
:输出 {column -> Series(values)}
,每列对应一个 Series
。'split'
:输出 {index -> [index], columns -> [columns], data -> [values]}
,用于与 DataFrame.from_dict
的 orient='split'
配合使用。'records'
:输出 [{column -> value}, … , {column -> value}]
的字典列表,每个字典对应一行数据。'index'
:输出 {index -> {column -> value}}
的字典,即每行转换为一个嵌套字典。into:
dict
dict
的子类。index:
True
orient='split'
时。orient
参数决定。Series.to_dict(
*,
into=<class 'dict'>
)
dict
dict
的子类。{index -> value}
。to_dict()
方法常用于将 DataFrame
或 Series
转换为字典格式,以便与其他数据处理工具或 API 进行集成。它的多种 orient
参数使得方法可以适应不同的需求,例如生成 JSON 数据、与数据库进行交互,或简化数据展示。
orient='dict'
import pandas as pd
data = {
"A": [1, 2, 3],
"B": [4, 5, 6],
"C": [7, 8, 9]
}
df = pd.DataFrame(data)
df_dict = df.to_dict()
print(df_dict)
输出:
{
'A': {0: 1, 1: 2, 2: 3},
'B': {0: 4, 1: 5, 2: 6},
'C': {0: 7, 1: 8, 2: 9}
}
说明:默认情况下,orient='dict'
,每列的数据转化为嵌套字典,列标签为字典的键,行索引为嵌套字典的键。
orient='list'
df_dict_list = df.to_dict(orient='list')
print(df_dict_list)
输出:
{
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
}
说明:使用 orient='list'
时,每列的数据转化为列表。
orient='records'
df_dict_records = df.to_dict(orient='records')
print(df_dict_records)
输出:
[
{'A': 1, 'B': 4, 'C': 7},
{'A': 2, 'B': 5, 'C': 8},
{'A': 3, 'B': 6, 'C': 9}
]
说明:使用 orient='records'
时,每行的数据转化为字典列表,每个字典代表一行。
to_dict
用法series = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
series_dict = series.to_dict()
print(series_dict)
输出:
{
'a': 1,
'b': 2,
'c': 3
}
说明:Series.to_dict()
将 Series
转换为字典,索引为键,数据为值。
to_dict()
方法非常适合需要将 DataFrame
或 Series
转换为字典格式的场景。它的多种 orient
参数可以适应不同的数据格式需求,使得在与其他工具集成时更加灵活和高效。
更新时间:2024-09-21 12:45:48 标签:pandas python 字典