pandas plot datetime groupby distribution

时间:2015-03-30 11:06:03

标签: python datetime pandas

我正在使用像这样的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的分布。 感谢。

1 个答案:

答案 0 :(得分:2)

您可以访问日期槽date属性,以便执行以下操作:

df.groupby(df['Datetime'].dt.date)['User_id'].count()

如果每个日期有一个ID可以有多个条目,则可以使用nunique代替count