1 回答
TA贡献1876条经验 获得超5个赞
假设您的 DataFrame ( df ):
在Dat列中有源日期,
当前的星期五日期应保存在Dat2列中,
执行:
df['Dat2'] = df.Dat + pd.offsets.Week(n=0, weekday=6) - pd.DateOffset(2)
细节:
+ pd.offsets.Week(n=0, weekday=6)
- 转移到最近的周日(weekday=6),但如果当前工作日已经是周日,则不会发生转移。- pd.DateOffset(2)
- 向后移动 2 天。
测试:在 2019 年 9 月的最初几天,结果是:
Dat Dat2
0 2019-09-01 2019-08-30
1 2019-09-02 2019-09-06
2 2019-09-03 2019-09-06
3 2019-09-04 2019-09-06
4 2019-09-05 2019-09-06
5 2019-09-06 2019-09-06
6 2019-09-07 2019-09-06
7 2019-09-08 2019-09-06
8 2019-09-09 2019-09-13
9 2019-09-10 2019-09-13
10 2019-09-11 2019-09-13
11 2019-09-12 2019-09-13
12 2019-09-13 2019-09-13
13 2019-09-14 2019-09-13
14 2019-09-15 2019-09-13
15 2019-09-16 2019-09-20
所以:
2019-09-01(星期日)移(回)到2019-08-30,
下周末 (2-8.09) 当前星期五是2019-09-06 ,
添加回答
举报