2024-05-08 18:44:55 发布
网友
t = pd.Timestamp('2020-02-05') print(pd.offsets.QuarterBegin().rollback(t)) print(pd.offsets.QuarterEnd().rollback(t))
输出:
2019-12-01 00:00:00 2019-12-31 00:00:00
为什么结果是2019-12-01?不是应该是2020-01-01吗
docs指定存在startingMonth;e、 g.“开始月份=3对应于2007年1月3日、2007年1月6日”等日期。要了解这个关键字参数的默认值是什么,您可以查看一下src,并观察一下_default_starting_month = 3(link)
startingMonth
_default_starting_month = 3
因此,如果不提供startingMonth,您的季度从第3、6、9、12个月开始-这就是为什么如果您“回滚”pd.Timestamp('2020-02-05'),您会得到2019-12-01 00:00:00
pd.Timestamp('2020-02-05')
2019-12-01 00:00:00
如果您希望您的季度开始,例如,月=1,4。。。月底=3,6。。。(包括),您可以将关键字设置为1(对于QuarterEnd,分别设置为3):
t = pd.Timestamp('2020-02-05') print(pd.offsets.QuarterBegin(startingMonth=1).rollback(t)) print(pd.offsets.QuarterEnd(startingMonth=3).rollback(t)) 2020-01-01 00:00:00 2019-12-31 00:00:00
docs指定存在
startingMonth
;e、 g.“开始月份=3对应于2007年1月3日、2007年1月6日”等日期。要了解这个关键字参数的默认值是什么,您可以查看一下src,并观察一下_default_starting_month = 3
(link)因此,如果不提供
startingMonth
,您的季度从第3、6、9、12个月开始-这就是为什么如果您“回滚”pd.Timestamp('2020-02-05')
,您会得到2019-12-01 00:00:00
如果您希望您的季度开始,例如,月=1,4。。。月底=3,6。。。(包括),您可以将关键字设置为1(对于QuarterEnd,分别设置为3):
相关问题 更多 >
编程相关推荐