我有一些看起来像这样的数据框:
A B C date
0 J Y 2 2013-02-01 14:21:02.070030
1 X X 0 2013-02-01 15:49:33.110849
2 Y D 9 2013-02-01 06:47:19.369514
3 Y C 17 2013-02-01 08:56:11.751781
4 3 J 21 2013-02-01 14:19:12.017232
我想按日期分组,然后计算,但省略有关小时,分钟,秒等的信息。
看起来像这样的东西有效:
df.set_index('date').resample('D').count()
两个问题:
df.group_by('date').resample('D').count()
之类的东西不起作用?答案 0 :(得分:4)
resample
在某种意义上只是groupby的一个特例 - 而不是对不同的值进行分组,这是grouppy('date')
将要做的事情,它将索引的基于时间的转换分组,这是为什么需要设置索引。或者,您可以这样做:
df.groupby(pd.Grouper(key='date', freq='D')).count()
在即将发布的版本0.19.0
中,您可以像这样编写上述内容。
df.resample('D', on='date').count()