如何在python中绘制字典的每个键?

2024-06-13 08:50:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个列表类型的dic。像这样:

{'key': '3d animator',
  'Results': [{'freelance artist': 1}, {'3d artist': 2}]},
 {'key': '3d artist',
  'Results': [{'sous chef': 1},
   {'3d animator': 2},
   {'art director': 1},
   {'artist': 1}]},
 {'key': '3d designer',
  'Results': [{'network administrator': 1}, {'None': 1}]}

我可以为每个key绘制一个图表,并通过hist显示values{}的频率吗 ? 例如key= 3d animator,一个历史图表,其中在水平轴上有'freelance artist'3d artist,在垂直轴上有它们的频率12


Tags: key类型列表artist图表resultschef频率
1条回答
网友
1楼 · 发布于 2024-06-13 08:50:42

第一个建议是重新格式化数据:

my_list = [{'key': '3d animator',
  'Results': [{'freelance artist': 1}, {'3d artist': 2}]},
 {'key': '3d artist',
  'Results': [{'sous chef': 1},
   {'3d animator': 2},
   {'art director': 1},
   {'artist': 1}]},
 {'key': '3d designer',
  'Results': [{'network administrator': 1}, {'None': 1}]}]

假设子CT列表中的每个键都是唯一的:

final_dict = {elem["key"]:{k: v for d in elem["Results"] for k, v in d.items()} for elem in my_list}

然后绘制外部dict(数据集)的每个值(dict):

import matplotlib.pyplot as plt
for k,v in final_dict.items():
    plt.figure()
    plt.title(k)
    plt.bar(list(v.keys()), v.values())
plt.show()

这将为数据集的每个键绘制一个图(如果您需要的话)

plots

相关问题 更多 >