python - 在python中增加财务季度

标签 python pandas numpy dataframe logic

我有以下示例输入数据,每季度更新一次。我想将本季度的数据添加到上一季度的表中,如输出所示。我尝试了很多方法,但找不到正确的方法。

输入方向:

第一个 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/

相关文章:

python - Pandas 合并具有多列和容差的数据框

Python numpy 数组计算

python - numpy.unravel_index 不返回预期的行索引

python - 给定中心点索引获取二维数组的子集

python - 如何使用 pandas 从 CSV 文件读取字节数组?

python - 如何根据列值的长度过滤数据框行

Python在列表中插入项目保持顺序

python - 将对称混合类型多索引转换为整数多索引

python - 在 python 中读取列表

python - 如何使用 joblib.dump 在 s3 上保存 sklearn 模型?