gpt4 book ai didi

python - 使用 Pandas DateOffset 移动到给定时间的最近过去的日期时间

转载 作者:行者123 更新时间:2023-12-01 00:33:05 25 4
gpt4 key购买 nike

给定一个日期时间x,我想计算给定时间(在我的例子中为09:00)的最新日期时间。也就是说,如果 x 中的时间晚于 09:00 那么我想获取与 x 日期相同的新日期时间(和时间 09:00),如果 x 中的时间早于 09:00 那么我想获得一个新的日期时间指向 x 前一天的 09:00

使用pandas.DateOffset可以实现这一点吗?我试过了

x + DateOffset(hour=9, minute=0, second=0)

x + DateOffset(days=-1, hour=9, minute=0, second=0)

但如果 x09:00 之前(它将时间向前移动),则第一个无法正常工作,如果 x 位于 09:00 之后(移至前一天)。

我知道如何“手动”执行此操作,但我想重用现有代码,这将迫使我通过 DateOffset 执行此操作。

最佳答案

您可以使用两次pd.Dateoffset,首先删除 9 小时,然后将小时设置为 9:

df = pd.DataFrame({'a': pd.to_datetime(['2019-09-20 08:34:21', '2019-09-20 09:34:21',])})
print(df.a + pd.DateOffset(hours=-9) + pd.DateOffset(hour=9, minute=0, second=0))
0 2019-09-19 09:00:00
1 2019-09-20 09:00:00
Name: a, dtype: datetime64[ns]

关于python - 使用 Pandas DateOffset 移动到给定时间的最近过去的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58028844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com