Я хочу получить дату начала квартала от даты
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 "
Может ли кто-нибудь помочь мне, где я иду не так?
В ядре 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
Вы можете преобразовать в период, а затем в отметку времени:
x = pd.to_datetime('2018-02-07') res = x.to_period('Q').to_timestamp() print(res) Timestamp('2018-01-01 00:00:00')