我有以下示例输入数据,每季度更新一次。我想将本季度的数据添加到上一季度的表中,如输出所示。我尝试了很多方法,但找不到正确的方法。
输入方向:
第一个
2007Q1
2007Q1
2007Q1
2007Q2
2007Q2
2007Q2
2007Q3
2007Q3
2007Q3
2007Q4
2007Q4
2007Q4
2008Q1
2008Q1
2008Q1
输出:
名次
2007Q1 2006Q4
2007Q1 2006Q4
2007Q1 2006Q4
2007Q2 2007Q1
2007Q2 2007Q1
2007Q2 2007Q1
2007Q3 2007Q2
2007Q3 2007Q2
2007Q3 2007Q2
2007Q4 2007Q3
2007Q4 2007Q3
2007Q4 2007Q3
2008Q1 2007Q4
2008Q1 2007Q4
2008Q1 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
关于python - 在python中增加财务季度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48672866/