我正在使用像这样的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']
但是这样我才能按天分组。我可以访问设置'日期时间'列作为df的索引,然后是df.index.day
,但这样再次(在所有年份日期工作),我只能按天(从1到31)分组,而不是按{{1 }}。然后我想将结果绘制为month.day
的分布。
感谢。
答案 0 :(得分:2)
您可以访问日期槽date
属性,以便执行以下操作:
df.groupby(df['Datetime'].dt.date)['User_id'].count()
如果每个日期有一个ID可以有多个条目,则可以使用nunique
代替count