#python #pandas #datetime #period
#питон #панды #дата и время #период
Вопрос:
У меня есть фрейм данных с несколькими миллионами строк со столбцом даты и времени, который я преобразую в финансовый год (1 июля) следующим образом:
df['As Quarter'] = df['usage_date'].dt.to_period('Q-JUL') df['Fiscal Year'] = df['As Quarter'].dt.qyear
Я хотел бы получить число дней в финансовом году (эквивалентное числу дней в году), равное df[«usage_date»]. Например, 2 июля будет 2.
В настоящее время я делаю это:
df['year_start'] = df.apply(lambda x : (pd.to_datetime('07-01-' str(x['Fiscal Year']-1))),axis=1) df['year_start'] = df['year_start'].dt.tz_localize('US/Eastern') df['days_in'] = (df['usage_date'] - df['year_start']).dt.days
но это кажется неуклюжим и медленным, особенно когда все остальное происходит очень быстро. Есть ли способ сделать это?
Спасибо!