将 Pandas 数据框转换为字典

Posted

技术标签:

【中文标题】将 Pandas 数据框转换为字典【英文标题】:Covert a Pandas Dataframe to Dictionary 【发布时间】:2019-02-22 12:46:52 【问题描述】:

过去一个小时我一直在尝试这个,但几乎没有成功

我想知道如何将这个数据框变成字典

DF

 Country      Continent 
 1            Europe
 2            Europe
 3            Asia
 4            Australia

想要的

  '1': 'Europe',
  '2': 'Europe',
  '3': 'Asia',
  '5': 'Australia'

我厌倦了与此类似的 x10 种不同的代码变体,但它不起作用

 df.set_index('Country', inplace=True)
 df = df.to_dict('dict')

【问题讨论】:

重复python pandas dataframe to dictionary python pandas dataframe to dictionary的可能重复 【参考方案1】:

您可以将dict 构造函数与zip 一起使用

dict(zip(df.Country, df.Continent))

1: 'Europe', 2: 'Europe', 3: 'Asia', 4: 'Australia'

【讨论】:

【参考方案2】:

您可以为Series 选择列Continent,然后使用Series.to_dict

>>> d = df.set_index('Country')['Continent'].to_dict()
>>> print(d)
'Paris': 'Europe', 'Berlin': 'Europe', 'Macow': 'Asia', 'Melbourne': 'Australia'

【讨论】:

以上是关于将 Pandas 数据框转换为字典的主要内容,如果未能解决你的问题,请参考以下文章

pandas:如何将字典转换为转置数据框? [复制]

将 Pandas 数据框转换为字典

将字典列表转换为 Pandas 数据框

Python Pandas:将嵌套字典转换为数据框

将嵌套字典转换为 pandas 数据框并绘图

Pandas:如何将具有重复索引值的数据框转换为字典