【问题标题】:How to change the pd.Grouper function range?如何更改 pd.Grouper 功能范围?
【发布时间】:2021-12-06 19:35:36
【问题描述】:

我正在尝试按周对一堆行进行分组 - 从星期一 + 接下来的六天的任何日期开始(以跟踪项目进度)。每周应从星期一开始,并应包括该星期一至星期日的所有项目更新状态的数量。

现在下面的代码为我提供了星期一和之前 7 天的数据,包括最后一个星期一。

我怎样才能让它向前看而不是向后看?

数据样本:

Date        Status        Proj_ID

2021-09-30  Started       p1
2021-09-30  Started       p3
2021-10-19  Started       p4
2021-10-22  Not Started   p2
2021-10-22  Started       p5

我的代码返回这个(从星期一开始倒数):

Week         #
2021-10-04   2
2021-10-11   0
2021-10-18   0
2021-10-25   3 

我希望它返回这个(从星期一开始计数):

Week         #
2021-09-27   2
2021-10-04   0
2021-10-11   0
2021-10-18   3 

我的代码:

project_statuses = data.groupby(pd.Grouper(key="Date", freq = "W-MON")).size()

【问题讨论】:

    标签: python pandas python-datetime


    【解决方案1】:

    试试resample:

    df.set_index('Date', inplace=True)
    df = df.resample('W-MON', label='left',closed='left').size()
    print(df)
    

    输出:

    Date
    2021-09-27    2
    2021-10-04    0
    2021-10-11    0
    2021-10-18    3
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-06
      • 1970-01-01
      • 1970-01-01
      • 2019-04-13
      • 1970-01-01
      • 2015-09-25
      • 2021-01-21
      • 1970-01-01
      相关资源
      最近更新 更多