python - pandas -- 如何让 Series 听写

标签 python pandas

现在我有了这个系列:

us    2
br    1
be    3
dtype: int64

所以我怎么能得到一个列表。如下:

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

谢谢

最佳答案

先创建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'}]

另一种列表理解的解决方案:

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()]

关于python - pandas -- 如何让 Series 听写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45452935/

相关文章:

python - 如何使用 Pandas 在 Python 中读取文本文件

python - 使用Python计算字符串中int和float数量的有效方法

python - 在 pygame 中将表面传输到屏幕的正确顺序是什么?

python - 在python中将所有列表值连接到一个数组

python - Pandas 使用训练数据框列选择测试数据框列

python - 在 pandas dataframe 中获取每组的第一条记录并将 0 放入其他记录中

python - 如何创建字典来查找掉落的零?

python - 在mysql中定期向表中添加数据

python - 如何在 Django 中的同一个应用程序中使用不同的数据库?

python - 对 CSV 文件中的每四个元素求平均值