我想要获取日期的四分之一开始的日期
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 ”
有人可以帮我解决我的问题吗?
答案 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)