对于我的python数据框架,我希望创建另一个列,该列将包含代码运行时当前日期的最后一个星期日。一周从周日开始。例如,我的数据框架看起来像:
ID Process
1 Manual
2 Semi
3 Automatic
现在说,我今天运行的代码是:8/27/2021。根据今天的日期,本周的最后一个星期日是08/22/2021。所以我的数据框架看起来像:
ID Process Last Sunday
1 Manual 08/22/2021
2 Semi 08/22/2021
3 Automatic 08/22/2021
Last Sunday将根据我运行代码的日期每次更改。然而,如果我在星期天运行代码,它应该给我那个星期天的日期,因为我的一周从星期天开始。
从获取python中的最后一个星期日和星期六的日期,您可以:
from datetime import datetime, timedelta
df['Last Sunday'] = (datetime.now()
-timedelta(days=((datetime.now().isoweekday() + 1) % 7))
).strftime('%m/%d/%Y')
尝试使用pd.to_datetime
和pd.Timedelta
>>> df['Last Sunday'] = (pd.to_datetime('now') - pd.Timedelta(days=((pd.to_datetime('now').dayofweek - 1) % 7))).date()
>>> df
ID Process Last Sunday
0 1 Manual 2021-08-24
1 2 Semi 2021-08-24
2 3 Automatic 2021-08-24
>>>