为什么开始日期是120103106010901?

2024-05-08 18:44:55 发布

您现在位置:Python中文网/ 问答频道 /正文

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吗


Tags: timestamppdprintoffsetsrollbackquarterbeginquarterend
1条回答
网友
1楼 · 发布于 2024-05-08 18:44:55

docs指定存在startingMonth;e、 g.“开始月份=3对应于2007年1月3日、2007年1月6日”等日期。要了解这个关键字参数的默认值是什么,您可以查看一下src,并观察一下_default_starting_month = 3link

因此,如果不提供startingMonth,您的季度从第3、6、9、12个月开始-这就是为什么如果您“回滚”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

相关问题 更多 >