[英]pandas plot datetime groupby distribution
我正在使用这样的pandas DataFrame:
User_ID Datetime
01 2014-01-01 08:00:00
01 2014-01-02 09:00:00
02 2014-01-02 10:00:00
02 2014-01-03 11:00:00
03 2014-01-04 12:00:00
04 2014-01-04 13:00:00
05 2014-01-02 14:00:00
我不在乎时间,我想绘制用户/天/年的频率。 预期的df为:
Datetime;count
2014-01-01;1
2014-01-02;3
2014-01-03;1
2014-01-04;2
到目前为止,我将df分组为:
g = df.groupby['Datetime','User_ID']
但是用这种方式我不能只按天分组。 我可以访问将“ Datetime”列设置为df的索引的日期,然后再设置df.index.day
,但是以这种方式(适用于所有年份的日期),我只能按天分组(从1到31),而不是按month.day
的顺序。 然后,我想将结果绘制为df.plot(kind='hist')
。 谢谢。
您可以访问日期通过date
属性,因此您可以执行以下操作:
df.groupby(df['Datetime'].dt.date)['User_id'].count()
如果每个日期可能有多个输入一个ID,则可以使用nunique
代替count
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.