如何在python中获取季度开始日期

时间:2018-11-07 10:17:16

标签: python python-3.x pandas date datetime

我想要获取日期的四分之一开始的日期

x="2018-02-07"
x=pd.to_datetime(x)
x=x-pd.offsets.QuarterBegin()
print(x)
2017-12-01 00:00:00

这是错误的,应为“ 2018-01-01 00:00:00

有人可以帮我解决我的问题吗?

3 个答案:

答案 0 :(得分:2)

您可以先转换为句点,然后转换为时间戳记:

x = pd.to_datetime('2018-02-07')

res = x.to_period('Q').to_timestamp()

print(res)

Timestamp('2018-01-01 00:00:00')

答案 1 :(得分:1)

在不依赖于熊猫的核心Python中:

from datetime import date


x = date.fromisoformat('2018-02-07')
x_qtr = date(x.year, 3 * ((x.month - 1) // 3) + 1, 1)

print(x_qtr)
# 2018-01-01

答案 2 :(得分:0)

pd.to_datetime("2018-02-07") - pd.tseries.offsets.BQuarterBegin(startingMonth=1)