首页 > 解决方案 > 当使用 Group By 作为日期并计算该期间的事件时,Pandas 从星期日开始一周

问题描述

我有一些数据和一个日期列。通过运行下面的命令,它会遍历 DF 并计算该周发生的所有事件。

df['date'].groupby(df.date.dt.to_period("W")).agg('count')

结果是这样的:

2018-04-16/2018-04-22    40
2018-04-23/2018-04-29    18

周从星期一开始,到星期日结束。

我希望这一周从周日开始,周六结束。所以数据应该是

2018-04-15/2018-04-21    40
2018-04-22/2018-04-28    18 

标签: pythonpandasdatedataframe

解决方案


利用:

df = pd.DataFrame({'Date':np.random.choice(pd.date_range('2018-04-10',periods=365, freq='D'),1000)})

df.groupby(df['Date'].dt.to_period('W-SAT')).agg('count')

输出:

                       Date
Date                       
2018-04-08/2018-04-14    12
2018-04-15/2018-04-21    19
2018-04-22/2018-04-28    21
2018-04-29/2018-05-05    16
2018-05-06/2018-05-12    21

推荐阅读