【问题标题】:Get the date of last Sunday in another column for current date in python在python中的当前日期的另一列中获取上周日的日期
【发布时间】:2021-10-27 03:54:13
【问题描述】:

对于我的 python 数据框,我希望创建另一列,该列将包含代码运行日期当前周的最后一个星期日。一周从星期日开始。例如,我的数据框看起来像:

ID      Process     
1       Manual
2       Semi
3       Automatic

现在说,我今天运行的代码是:2021 年 8 月 27 日。根据今天的日期,当周的最后一个星期日是 2021 年 8 月 22 日。所以我的数据框看起来像:

ID      Process     Last Sunday   
1       Manual      08/22/2021
2       Semi        08/22/2021
3       Automatic   08/22/2021

上周日每次都会根据我运行代码的日期而变化。但是,如果我在 Sunday 运行代码,它应该给我那个周日的日期,因为我的一周从周日开始。

【问题讨论】:

标签: python python-3.x pandas dataframe python-2.7


【解决方案1】:

尝试使用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
>>>  

【讨论】:

  • 感谢您的回答,但 08/24/2021 不是本周的星期日。事实上,今天是星期二。
【解决方案2】:

get the last sunday and saturday's date in python派生,你可以这样做:

from datetime import datetime, timedelta
df['Last Sunday'] = (datetime.now()
                     -timedelta(days=((datetime.now().isoweekday() + 1) % 7))
                     ).strftime('%m/%d/%Y')

【讨论】:

  • 感谢@mozway,但 08/21/2021 不是本周的星期日。事实上,它是星期六。我正在尝试修改代码。
  • 所以我已经从代码及其工作中删除了 +1。谢谢。
  • @mightyknows 这可能取决于语言环境?很高兴它起作用了:)
猜你喜欢
  • 2023-02-08
  • 2022-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-18
相关资源
最近更新 更多