遇到一种情况,我需要打印出现在数据框的一列中的数据的频率。
假设我的专栏是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},
...
}
我是熊猫新手。请帮忙。
答案 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()})
将期望输出。