Python 熊猫:加入“熊猫”;对角线;

Python 熊猫:加入“熊猫”;对角线;,python,pandas,Python,Pandas,我有一个数据帧,其中索引是时间,但每行数据不是同质的w.r.t.时间,如下所示: obs_TQ obs_PQ year quarter 1 1 5499.330651 1655.414960 2 4650.849431 1807.889632 3 5417.065129 3352.855656 4

我有一个数据帧,其中索引是时间,但每行数据不是同质的w.r.t.时间,如下所示:

                   obs_TQ       obs_PQ    
year quarter                          
1    1        5499.330651  1655.414960
     2        4650.849431  1807.889632
     3        5417.065129  3352.855656
     4        7771.021167  2343.369804
其中,
obs_TQ
是本季度的观察值,
obs_PQ
是上一季度的观察值。我想按季度总结观察结果,因此按季度的结果将是

                                   real_obs
year quarter
   1       1      obs_TQ[1,1] + obs_PQ[1,2]
   1       2      obs_TQ[1,2] + obs_PQ[1,3]
也就是说,对于每一行,我需要将该行的
obs\u TQ
添加到下一行的
obs\u PQ

                     real_obs
year quarter
   1       1      7307.220283
   1       2      8003.705087

有没有有效的矢量化方法?按索引分组在这里不起作用,因为我需要合并来自不同组的数据,而且我不知道在这种情况下可以使用任何其他工具。

除非我遗漏了一些东西,否则你就不能将TQ添加到已转移的PQ中吗

>>> (df["obs_TQ"] + df["obs_PQ"].shift(-1)).to_frame("real_obs")
                 real_obs
year quarter             
1    1        7307.220283
     2        8003.705087
     3        7760.434933
     4                NaN

如果我有第三个子索引,比如
输入[0,1]
,会怎么样。确保这一点的一种方法是在执行命令之前预选
df.query(“type==i”)
,并迭代所有
i
。我是否可以在
shift()
中加入此选项?