Python / Pandas - переставить строку из значения столбца - PullRequest
2 голосов
/ 15 октября 2019

Мне нужно переставить значение столбца в столбце: «Квартал». Ожидаемый результат должен быть таким, как в столбце: «new_Quarter»

enter image description here

Я получил столбец: «Квартал» из столбца: «Дата», используя следующий код

df['Quarter'] = pd.PeriodIndex(df['Date'], freq='Q')

Я попытался получить целевой столбец: "new_Quarter", используя приведенный ниже код, но получил ошибку

df['new_Quarter'] = q['Quarter'].str.slice(4,6) + ' ' + q['Quarter'].str.slice(2,4)

TypeError: ufunc 'add' не содержал циклс типами соответствия подписи dtype ('

1 Ответ

2 голосов
/ 15 октября 2019

Вы можете использовать strftime

df['new_Quarter'] = df.Quarter.dt.strftime('Q%q %y')

. В качестве примечания можно также просто создать столбец Quarter, используя to_period

df['Quarter'] = df.Date.dt.to_period('Q')

        Date Quarter new_Quarter
0 2019-09-18  2019Q3       Q3 19
1 2019-03-18  2019Q1       Q1 19
2 2019-05-13  2019Q2       Q2 19
...