使用自定义键将熊猫数据框转换为字典

时间:2019-04-19 03:52:15

标签: python pandas

遇到一种情况,我需要打印出现在数据框的一列中的数据的频率。

假设我的专栏是status,然后执行

df['status'].value_counts().to_dict()

输出

 {
    "Deleted": 56,
    "New": 25,
    "Draft": 24,
    "Assigned": 11,
    "Job Complete": 10,
    "Active": 8,
    "Requested": 3,
    "Cancelled": 3,
    "Footage Provided": 1
 }

我想将输出的格式设置为:

 {
    {status: "Deleted", value: 56},
    {status: "New", value: 25},
    {status: "Draft", value: 24},
    ...
  }

我是熊猫新手。请帮忙。

2 个答案:

答案 0 :(得分:1)

您可以将pandas输出字典重新格式化为所需的列表格式。遍历字典并将键和值作为字典对象附加到您列出的列表中:

d1 = df['status'].value_counts().to_dict()
l = []
for k, v  in d1.items():
    l.append({'status': k, 'value': v})
print(l)

输出

[{'status': 'Deleted', 'value': 56}, 
 {'status': 'New', 'value': 25}, 
 {'status': 'Draft', 'value': 24},
 ...
]

答案 1 :(得分:1)

您可以使用以下列表理解:

print([{'status': k, 'value': v} for k, v in df['status'].value_counts().to_dict().items()})

将期望输出。

相关问题