在python中获取当前日期的另一列中上星期日的日期



对于我的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_datetimepd.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
>>>  

最新更新