`pandas` 库提供了一个非常方便的方法将 DataFrame 转换为字典
在 Python 中,pandas 库提供了一个非常方便的方法将 DataFrame 转换为字典。DataFrame.to_dict() 方法可以根据你的需求将 DataFrame 转换为不同类型的字典。以下是一些常见的用法示例:
-  转换为字典的列表(默认行为): 
 每个键(列名)对应的值是一个列表,包含该列的所有数据。import pandas as pd# 创建一个示例 DataFrame data = {'Name': ['Alice', 'Bob', 'Charlie'],'Age': [25, 30, 35],'City': ['New York', 'Los Angeles', 'Chicago'] } df = pd.DataFrame(data)# 转换为字典的列表 dict_list = df.to_dict() print(dict_list)输出: [{'Name': 'Alice', 'Age': 25, 'City': 'New York'},{'Name': 'Bob', 'Age': 30, 'City': 'Los Angeles'},{'Name': 'Charlie', 'Age': 35, 'City': 'Chicago'}]
-  转换为记录字典( orient='records'):
 与默认行为相同,但明确指定参数。dict_records = df.to_dict(orient='records') print(dict_records)
-  转换为索引字典( orient='index'):
 每个键(索引)对应的值是一个字典,包含该行的所有列数据。dict_index = df.to_dict(orient='index') print(dict_index)输出: {0: {'Name': 'Alice', 'Age': 25, 'City': 'New York'},1: {'Name': 'Bob', 'Age': 30, 'City': 'Los Angeles'},2: {'Name': 'Charlie', 'Age': 35, 'City': 'Chicago'}}
-  转换为列字典( orient='columns'):
 每个键(列名)对应的值是一个列表,包含该列的所有数据(与默认行为类似,但结构更清晰)。dict_columns = df.to_dict(orient='columns') print(dict_columns)输出: {'Name': ['Alice', 'Bob', 'Charlie'],'Age': [25, 30, 35],'City': ['New York', 'Los Angeles', 'Chicago']}
-  转换为拆分字典( orient='split'):
 返回一个包含两个键的字典:'index'和'columns',分别包含行索引和列名,以及一个'data'键,包含数据值。dict_split = df.to_dict(orient='split') print(dict_split)输出: {'index': [0, 1, 2],'columns': ['Name', 'Age', 'City'],'data': [['Alice', 25, 'New York'],['Bob', 30, 'Los Angeles'],['Charlie', 35, 'Chicago']]}
-  转换为值字典( orient='values'):
 返回一个包含 DataFrame 数据的嵌套列表(与.values属性相同)。dict_values = df.to_dict(orient='values') print(dict_values)输出: [['Alice', 25, 'New York'],['Bob', 30, 'Los Angeles'],['Charlie', 35, 'Chicago']]
选择哪种方法取决于你希望字典结构如何反映 DataFrame 的数据。
