为了账号安全,请及时绑定邮箱和手机立即绑定

使用pandas groupby计算周数

使用pandas groupby计算周数

白衣非少年 2021-05-18 17:08:12
我有以下示例数据框:Date                count_row   Work_Type2018-07-31 00:00:00 1           logpage2018-08-01 00:00:00 1           logpage2018-08-01 00:00:00 1           logpage2018-08-01 00:00:00 1           logpage2018-08-01 00:00:00 1           logpage2018-09-02 00:00:00 1           logpage2018-09-02 00:00:00 1           logpage2018-09-03 00:00:00 1           logpage2018-09-04 00:00:00 1           logpage2018-09-04 00:00:00 1           logpage2018-09-06 00:00:00 1           logpage2018-09-07 00:00:00 1           logpage2018-09-08 00:00:00 1           logpage我想将其分解为几周,并计算该周的出现次数。具体来说,我认为一周的开始是星期一,一周的结束是星期日。例如,9/3/2018是星期一(或我认为是一周的开始)。所以从那个星期一到下一个星期日,我算的是9/3/2018。以下是我正在寻找的数据框结果:Beginning of Week Date (Mon)    count7/30/2018                       58/27/2018                       29/3/2018                        6我尝试了以下代码:df.set_index('Date', inplace=True)df.sort_index(inplace=True)def take_first(array_like):    return array_like[0]output = df.resample('W',                                      how={'Date': take_first,                          'count_row': 'sum'},                     loffset=pd.offsets.timedelta(days=-6))这是我得到的错误:IndexError: index out of bounds
查看完整描述

2 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

您可以使用resample:


df.resample('W-Mon', on='Date', label='left', closed='left').sum().query('count_row > 0') 

输出:


            count_row

Date                 

2018-07-30          5

2018-08-27          2

2018-09-03          6


查看完整回答
反对 回复 2021-05-25
  • 2 回答
  • 0 关注
  • 220 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信