pandas 数据框的直方图

Histogram of a pandas dataframe

我在网站上找不到类似的问题。

我有一个相当大的文件,超过 100000 行,我使用 pandas:

读取它
df = pd.read_excel("somefile.xls",index_col='Offense Type')

最终得到一个由第一列(索引列)和另一列组成的数据框,分别为 'Offense_type' 和 'Hour'。

'Offense Type' 由一系列 "cathegories" 组成,例如 cat1、cat2、cat3 等... 'Hour' 由 1 到 24 之间的一系列整数组成。

我想做的是获取数据框中每个数字出现的直方图(没有那么多分类,最多 10 个)

这是我想要得到的 ASCII 表示形式

(x 代表直方图中的条形,它们的值肯定会比 1,2 或 3 高得多)

   x        x         # And so on
 x x  x     x x  x    #
 x x  x  x  x x  x    #
 1 2 11 20  5 8 18    #
   Cat1      Cat2     #

但我使用以下方法为 df 中的每一行获取一个条形图:

df.plot(kind='bar')

这基本上是不可读的:

我也试过 hist() 和 Histogram() 函数,但没有成功。

这是一些示例数据:

经过漫长的一夜,我得到了答案,因为每个事件只发生一次,我在文件中添加了一个额外的第一列,然后通过这个索引数据框:

df = pd.read_excel("somefile.xls",index_col='Numberone')

然后简单地尝试了这个:

df.hist(by=df['Offense Type'])

终于如愿以偿