Python 如何从计数器的值构建直方图?

Python 如何从计数器的值构建直方图?,python,histogram,counter,Python,Histogram,Counter,我使用Counter()计算键的出现次数 所以我有({'A':1,'B':3,'C':1,'D':2,'E':1,'F':3,G:'2') 如何使用该信息为值的数量构建直方图: 对于1,值为3 对于2,该值为2 对于3,值为2 您想要这个吗?更正了你字典的最后一个元素,因为我想你是指我写的东西 import pandas as pd data = pd.Series({'A':1, 'B':3, 'C':1, 'D':2, 'E':1, 'F':3, 'G':2}) data.value_co

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

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

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

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

    • 您想要这个吗?更正了你字典的最后一个元素,因为我想你是指我写的东西

      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
      

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

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

      编辑

      根据计算的频率,您的数据看起来像
      a
      ,您可以绘制该频率的直方图:

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

      要显示直方图,您不需要计算频率。直方图不同于条形图,因为条形图涉及两个变量,而直方图只涉及一个变量


      你的数据是什么?你想要一个直方图图。我的数据是字母列表,直方图显示字母数量的分布。是的,我想要一个直方图图。
      list(d)
      就足够了。不要(即使在示例中)对内置进行阴影处理,请使用不同的变量名,例如
      d
      dct
      。谢谢,但这不是我的问题。我想要字母数量的分布。@jpp不带
      list()
      在python 2.7中对我有用,但在python 3中不行。现在已经检查过3.7了,它正在工作,不知道发生了什么,为什么。关于变量名,这只是一个例子,为什么这么严重@DejanMarić,因为新的Python学习者复制示例。然后他们发布新的问题,抱怨为什么
      dict()
      在他们的代码中对他们不起作用。由于这种不严格的做法,每年都有成千上万的人达到这种程度。@Alon直方图是从一个值创建的,而bar是从2创建的。你能展示你的数据吗?你为什么要计算频率?