Возвращает финансовый квартал из столбца даты фрейма данных с пользовательской строкой в Python

#python #pandas #datetime

#питон #панды #дата и время

Вопрос:

     quarter = pd.Timestamp(dt.date(2020, 1, 1)).quarter
    assert quarter == 1

    df['quarter'] = df['date'].dt.quarter
 

Это возвращает 1,2,3 или 4 в df [‘квартал’] в зависимости от даты в столбце df [‘дата’].

То, что я хотел бы иметь, — это такой формат в столбце df[‘quarter’]:

Qx-2019 или Qx-2020 в зависимости от года, где x — квартал, найденный с помощью приведенного выше сценария.

Как я могу получить конкретный год из квартала и добавить формат Qx-year?

Спасибо.

Ответ №1:

Попробуйте с to_period

 s.dt.to_period('Q')
Out[159]: 
0    2020Q4
1    2019Q1
dtype: period[Q-DEC]
 

Обновить

 'Q'   df['date'].dt.quarter.astype(str)   '-'   df['date'].dt.year.astype(str)
 

Комментарии:

1. большое спасибо! что делать, если мне нужен другой формат, например, 4 квартал 2020 года?