Я ищу хороший, понятный и понятный способ (тот, который вы можете вспомнить в следующий раз), чтобы преобразовать «Q3 1996» в дату-время панды, например, «1996-07-01» в данном случае.До сих пор я нашел это, но это ужасно некрасиво:
df = pd.DataFrame({'Quarter':['Q3 1996', 'Q4 1996', 'Q1 1997']})
df['date'] = (
pd.to_datetime(
df['Quarter'].str.split(' ').apply(lambda x: ''.join(x[::-1]))
))
print(df)
Quarter date
0 Q3 1996 1996-07-01
1 Q4 1996 1996-10-01
2 Q1 1997 1997-01-01
Я надеялся, что следующее будет работать, потому что оно читаемо, но, к сожалению, это не так:
df['date'] = pd.to_datetime(df['Quarter'], format='%q %Y')
Проблематакже этот квартал и год, по-видимому, находятся в неправильном порядке для простой обработки пандами.
Может ли кто-нибудь помочь мне найти более чистый способ преобразования «Q3 1996» в дату-время панд?