如何将 matplotlib 直方图数据显示为 table?

How to display matplotlib histogram data as table?

所以我只是想学习 Python 并构建了一个看起来像这样的直方图:

我一直在疯狂地想弄清楚如何以 table 格式显示相同的数据,即:

  0-5  = 50,500
  5-10 = 24,000
 10-50 = 18,500

等等...

df只有一个字段,里面是towns/cities的居民人数。非常感谢任何帮助。

编辑:

从重复的问题答案...我得到一个错误

bins = [0,5,10,50,150,500,2500,5000,8000]
groups = df.groupby(['Total_Residents', pd.cut(df.Total_Residents, bins)])
groups.size().unstack()

AttributeError Traceback(最近调用最后) 在 () 1 箱 = [0,5,10,50,150,500,2500,5000,8000] ----> 2 组 = df.groupby(['Total_Residents', pd.cut(df.Total_Residents, bins)]) 3 groups.size().unstack()

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\generic.py in getattr(self, name) 4370 如果 self._info_axis._can_hold_identifiers_and_holds_name(姓名): 4371return自我[名字] -> 4372 return object.getattribute(self, name) 4373 4374 def setattr(自身、名称、值):

 AttributeError: 'Series' object has no attribute 'Total_Residents'

编辑:对于示例数据,您可以使用 bin 值 +1

df = pd.Series([1,6,11,51,151,501,2501,5001,8001], 名称 = 'Total_Residents')

但是顺便说一句,我的数据并不是导致问题的原因。这是因为我正在使用 pandas 的函数,用于一系列数据的数据帧。

想通了。我实际上无法将 'series' 转换为数据框,但 pandas 能够处理系列:

  bins = [0,5,10,50,150,500,2500,5000,8000]
  df.value_counts(bins=bins)

我需要使用 value_counts 功能。

只有当我有另一列作为数据分组依据时,我才能使用建议的重复答案。