Python / Pandas-从列值重新排列字符串

时间:2019-10-15 17:21:17

标签: python pandas date

我需要重新排列“ Quarter”列上的列值。预期的输出应与“ 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 个答案:

答案 0 :(得分:2)

您可以使用strftime

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

请注意,也可以使用to_period

来简单创建列Quarter
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