gpt4 book ai didi

(-) MonthBegin 的 Pandas 日期时间锚定偏移量无法按预期工作

转载 作者:行者123 更新时间:2023-12-04 22:19:04 24 4
gpt4 key购买 nike

我需要回到月初,但如果我已经在月初,我想留在那里。带有 n=0 的 Pandas 锚定偏移量应该完全做到这一点,但它不会在 (-) MonthBegin 的锚定点之间产生预期的结果。

例如为此pd.Timestamp('2017-01-06 00:00:00') - pd.tseries.offsets.MonthBegin(n=0)我希望将我移回 Timestamp('2017-01-01 00:00:00')但相反,我得到 Timestamp('2017-02-01 00:00:00')我究竟做错了什么?或者你认为这是一个错误?

我还可以看到相同的规则适用于 MonthEnd,因此将 2 组合如下 pd.Timestamp('2017-01-06 00:00:00')+pd.tseries.offsets.MonthEnd(n=0)-pd.tseries.offsets.MonthBegin(n=1)我得到了 Timestamp('2017-01-01 00:00:00') 的预期效果但我希望它只适用于 - pd.tseries.offsets.MonthBegin(n=0)

最佳答案

要跳转到月初,请使用:

ts + pd.tseries.offsets.MonthEnd(n=0) - pd.tseries.offse‌​ts.MonthBegin(n=1)

是的,这很丑,但如果 ts 的话,这是跳到月初的唯一方法已经是第一了。

快速演示:
>>> pd.date_range(dt.datetime(2016,12,30), dt.datetime(2017,2,2)).to_series() \
+ MonthEnd(n=0) - MonthBegin(n=1)

2016-12-30 2016-12-01
2016-12-31 2016-12-01
2017-01-01 2017-01-01
2017-01-02 2017-01-01
...
2017-01-31 2017-01-01
2017-02-01 2017-02-01
2017-02-02 2017-02-01

关于(-) MonthBegin 的 Pandas 日期时间锚定偏移量无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42008805/

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