我在网站上的任何地方都找不到类似的问题。
我有一个相当大的文件,超过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')
这基本上是不可读的:
我也试过了hist()和Histogram()函数而没有运气。
以下是一些示例数据:
答案 0 :(得分:1)
经过漫长的一夜之后,我得到了答案,因为每次事件都只发生一次,我在文件中添加了一个额外的列,然后用数字编制索引数据框:
df = pd.read_excel("somefile.xls",index_col='Numberone')
然后试着这个:
df.hist(by=df['Offense Type'])
终于得到了我想要的东西