【发布时间】:2015-03-03 01:45:08
【问题描述】:
我在网站上的任何地方都找不到类似的问题。
我有一个相当大的文件,超过 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() 函数,但没有成功。
以下是一些示例数据:
【问题讨论】:
-
您需要研究 pandas group by 功能才能将数据转换为您想要的形式。
-
如果你发布一些示例数据,我会更容易解决这个问题;比如说,来自两个或三个类别的几行。试试`df.to_dict{
-
...但不是整个文件!例如,另请参见 df.head(n=20)。
-
@cphlewis haha 当然不是整个文件,让我更新问题的正文。
-
看看我的第一条评论——它是 DataFrame 变量
df,它知道如何写出可以从网页重新读取的字符串。将对以后的帖子有用。
标签: pandas histogram dataframe