python:按范围分组数据帧
我有一个dateframe对象,其中包含date和calltime列 正在尝试根据第二列构建直方图。例如。python:按范围分组数据帧,python,pandas,Python,Pandas,我有一个dateframe对象,其中包含date和calltime列 正在尝试根据第二列构建直方图。例如。 df.groupby('calltime').head(10).plot(kind='hist',y='calltime') 获得以下信息: 问题是,我想了解第一个酒吧的更多细节。例如,0-2500的范围非常大,所有数据都隐藏在那里。。。是否有可能按较小的范围划分组?比如说50岁,或者差不多 UPD 日期通话时间 0 1491928756414930 4643 1 14
df.groupby('calltime').head(10).plot(kind='hist',y='calltime')
获得以下信息:
问题是,我想了解第一个酒吧的更多细节。例如,0-2500的范围非常大,所有数据都隐藏在那里。。。是否有可能按较小的范围划分组?比如说50岁,或者差不多
UPD
日期通话时间
0 1491928756414930 4643
1 1491928756419607 166
2 1491928756419790 120
3 1491928756419927 142
4 1491928756420083 121
5 1491928756420217 109
6 1491928756420409 52
7 1491928756420476 105
8 1491928756420605 35
9 1491928756420654 120
10 1491928756420787 105
11 1491928756420907 93
12 1491928756421013 37
13 1491928756421062 112
14 1491928756421187 41
15 1491928756421240 122
16 1491928756421375 28
17 1491928756421416 158
18 1491928756421587 65
19 1491928756421667 108
20 1491928756421790 55
21 1491928756421858 145
22 1491928756422018 37
23 1491928756422068 63
24 1491928756422145 57
25 1491928756422214 43
26 1491928756422270 73
27 1491928756422357 90
28 1491928756422460 72
29 1491928756422546 77
... ... ...
9845 1491928759997328 670
9846 1491928759998255 372
9848 1491928759999116 659
9849 1491928759999897 369
9850 1491928760000380 746
9851 1491928760001245 823
9852 1491928760002189 634
9853 1491928760002869 335
9856 1491928760003929 4162
9865 1491928760009368 531
使用垃圾箱
s = pd.Series(np.abs(np.random.randn(100)) ** 3 * 2000)
s.hist(bins=20)
或者您可以使用pd.cut
制作您自己的定制箱子
pd.cut(
s, [-np.inf] + [100 * i for i in range(10)] + [np.inf]
).value_counts(sort=False).plot.bar()
您可以将df.hist()与bins参数一起使用,这样已经更好了。但是,我是否可以以某种方式将值添加到X刻度,这样就可以看到条形图的哪些范围?如果没有数据,很难可视化,您是否可以发布df.groupby('calltime').head(10)的输出?添加了关于范围的更多信息OK,这样您就可以通过升序=false对数据进行排序,并获取顶部行以缩小范围