【问题标题】:pandas plot datetime groupby distributionpandas plot datetime groupby 分布
【发布时间】:2015-06-03 08:56:57
【问题描述】:

我正在使用这样的 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) , 而不是month.day 的顺序。然后我想将结果绘制为df.plot(kind='hist') 的分布。 谢谢。

【问题讨论】:

    标签: python datetime pandas


    【解决方案1】:

    你可以通过date属性访问日期槽,所以你可以这样做:

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

    如果每个日期一个 ID 可能有多个条目,您可以使用 nunique 而不是 count

    【讨论】:

      猜你喜欢
      • 2016-12-07
      • 2021-06-21
      • 2016-07-12
      • 2019-09-19
      • 2019-05-01
      • 1970-01-01
      • 2019-02-22
      • 2018-10-19
      • 2020-08-19
      相关资源
      最近更新 更多