Pandas DataFrame转换为字典的方法

  • Post category:Python

将Pandas DataFrame转换为字典的方法有多种,以下是其中两种常用且简单的方法:

方法一

使用pandas.DataFrame.to_dict()方法将DataFrame转换为字典。

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame(data={'a':[1,2],'b':[3,4]})

# 将DataFrame转换为字典,orient参数可以指定字典的形状,默认为行向
data_dict = df.to_dict(orient='records')

print(data_dict)
# [{'a': 1, 'b': 3}, {'a': 2, 'b': 4}]

方法二

使用zip()方法将DataFrame的行列索引与数据合并成为一个元组,然后使用字典推导式将其转换为字典。

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame(data={'a':[1,2],'b':[3,4]})

# 将DataFrame转换为字典
data_dict = {col:dict(zip(df.index,df[col])) for col in df.columns}

print(data_dict)
# {'a': {0: 1, 1: 2}, 'b': {0: 3, 1: 4}}

以上是两种将Pandas DataFrame转换为字典的方法,可以根据实际需求选择不同的方法来解决问题。