如何根据Counter的值构建直方图?

时间:2018-11-09 11:25:16

标签: python histogram counter

我使用Counter()来计算键的出现次数。

所以我有({'A':1, 'B':3, 'C':1, 'D':2, 'E':1, 'F':3, G:'2'})

如何使用该信息为值的数量建立直方图:

  • 对于1,该值为3
  • 对于2,该值为2
  • 对于3,该值为2

2 个答案:

答案 0 :(得分:2)

这看起来像是一本字典,所以我想您可以使用bar中的matplotlib

frequency_calculated = ({'A':1, 'B':3, 'C':1, 'D':2, 'E':1, 'F':3, 'G':2})
plt.bar(frequency_calculated.keys(), frequency_calculated.values())

具有结果

enter image description here

编辑

从计算出的频率来看,您的数据看起来像a,并且可以绘制其直方图:

a = ('A','B','B','B','C','D','D','E','F','F','F','G','G')
plt.hist(a)

结果:

enter image description here

要显示直方图,您无需计算频率。直方图与条形图的不同之处在于,条形图涉及两个变量,而直方图仅涉及一个变量。

Difference between bar and histogram

答案 1 :(得分:1)

您要这个吗?更正了字典的最后一个元素,因为我认为您的意思是我写的。

import pandas as pd
data = pd.Series({'A':1, 'B':3, 'C':1, 'D':2, 'E':1, 'F':3, 'G':2})
data.value_counts()

1    3
3    2
2    2
dtype: int64