我有以下每季度更新的输入数据样本。我想将这个季度数据添加到上一个季度表中,如输出中所示。我试了很多方法,但找不到正确的方法。
输入数据框:FIRST2007Q12007Q12007Q12007Q22007Q22007Q22007Q32007Q32007Q32007Q42007Q42007Q42008Q12008Q12008Q1
输出:First Last2007Q1 2006Q42007Q1 2006Q42007Q1 2006Q42007Q2 2007Q12007Q2 2007Q12007Q2 2007Q12007Q3 2007Q22007Q3 2007Q22007Q3 2007Q22007Q4 2007Q32007Q4 2007Q32007Q4 2007Q32008Q1 2007Q42008Q1 2007Q42008Q1 2007Q4
有人能帮我用python解决这个问题吗。我需要这个来做进一步的分析。谢谢!
最佳答案
如果列是字符串,请将其转换为Period
对象:
df['FIRST'] = pd.PeriodIndex(df.FIRST, freq='Q')
接下来,使用
pd.PeriodIndex.shift
:df['LAST'] = df['FIRST'].shift(-1)
df
FIRST LAST
0 2007Q1 2006Q4
1 2007Q1 2006Q4
2 2007Q1 2006Q4
3 2007Q2 2007Q1
4 2007Q2 2007Q1
5 2007Q2 2007Q1
6 2007Q3 2007Q2
7 2007Q3 2007Q2
8 2007Q3 2007Q2
9 2007Q4 2007Q3
10 2007Q4 2007Q3
11 2007Q4 2007Q3
12 2008Q1 2007Q4
13 2008Q1 2007Q4
14 2008Q1 2007Q4