大熊猫数据帧的直方图

时间:2015-03-03 01:45:09

标签: pandas histogram dataframe

我在网站上的任何地方都找不到类似的问题。

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

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

最后得到的数据框包含第一列(索引列)和另一列,分别为'Offense_type'和'Hour'。

'进攻类型'由一系列“导管”组成,例如cat1,cat2,cat3等...... '小时'由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')

这基本上是不可读的:

histogram_of_dataframe

我也试过了hist()和Histogram()函数而没有运气。

以下是一些示例数据:

sample_data

1 个答案:

答案 0 :(得分:1)

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

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

然后试着这个:

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

终于得到了我想要的东西