大白话讲pd.offsets.CDay()

解释:定制offset,可以指定weekmask和holidays参数(思考为什么三个都是一个值)

pd.Series(
    [
        pd.offsets.CDay(3, weekmask="Wed Fri", holidays="2020010") + i
        for i in pd.date_range("20200105", periods=3, freq="D")
    ]
)

注意:此处的源代码采用的 .apply(i)是会报错的,offset对象没有apply函数。

解释为何三个都是同一个值:
本质是只有日期在weekmask里才会进行偏移且偏移是在weekmask里进行的,即跳过三个自定义的工作日。看下图举例:
在这里插入图片描述

20200105为周日,跳三个weekmask中的值就是从8号开始起跳第一个、第二个就是10号、第三个就是15号,即周三-周五-周三,结果为20200115,同理20200106和20200107往前跳三个weekmask值得到的是同样的结果。
如果holidays的值和weekmask的值有重叠,默认不做处理。即把holidays设为“20200115”,默认情况下还是会输出20200115,并不会跳过。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值