熊猫 - 如何让系列词典

时间:2017-08-02 06:22:54

标签: python pandas

现在我有这个系列:

us    2
br    1
be    3
dtype: int64

所以我怎么能列出一个清单。如下:

[ { "country": "us", "value": 2},
  { "country": "br", "value": 1},
  { "country": "be", "value": 3}
]

感谢

1 个答案:

答案 0 :(得分:4)

首先创建DataFrame,然后使用DataFrame.to_dict

print (s.rename_axis('country').reset_index(name='value').to_dict('records'))
[{'value': 2, 'country': 'us'}, {'value': 1, 'country': 'br'}, {'value': 3, 'country': 'be'}]
构造函数

DataFrame

print (pd.DataFrame({'country':s.index, 'value':s.values}).to_dict('records'))
[{'value': 2, 'country': 'us'}, {'value': 1, 'country': 'br'}, {'value': 3, 'country': 'be'}]

list comprehension的另一种解决方案:

d = [dict(country=x[0], value=x[1]) for x in s.items()]
print (d)
[{'value': 2, 'country': 'us'}, {'value': 1, 'country': 'br'}, {'value': 3, 'country': 'be'}]

来自piRSquared的类似解决方案删除了​​Series.items的答案:

d = [dict(country=k, value=v) for k, v in s.items()]
相关问题