首页 文章

按工作日每月分组DataFrame

提问于
浏览
1

我正在尝试将按日期编制的Pandas DataFrame 按月的营业日编制,大约22 /月 .

我想在`DataFrame中返回包含22行的结果,其中包含一些值的平均值 .

我可以在一个月的日子,但似乎无法弄清楚如何在工作日 .

是否有一个函数将返回日期的营业日?

如果有人能提供一个最受欢迎的简单例子 .

2 回答

  • 1

    假设您的日期在索引中(如果不使用'set_index):

    df.groupby(pd.TimeGrouper('B'))
    

    time series functionality .

  • 0

    我想问的问题是每个月的工作日分组 - 另一个答案似乎是将数据重新采样到最近的工作日(至少对我而言) . 此代码返回一个包含22行的groupby对象

    from datetime import date
    import pandas as pd
    import numpy as np
    
    d = pd.Series(np.random.randn(1000), index=pd.bdate_range(start='01 Jan 2018', periods=1000))
    def to_bday_of_month(dt):
        month_start = date(dt.year, dt.month, 1)
        return np.busday_count(month_start, dt)
    
    day_of_month = [to_bday_of_month(dt) for dt in d.index.date]
    d.groupby(day_of_month).mean()
    

相关问题