Python 如何使用多索引将数据帧中的单行相加为多行?

Python 如何使用多索引将数据帧中的单行相加为多行?,python,pandas,dataframe,multi-index,Python,Pandas,Dataframe,Multi Index,以季度和周为多索引的我的数据帧: Quarter Week X Y Z Q1 Q1-W01 1 1 1 Q1-W02 2 2 2 Q1-W03 3 3 3 Q1-W04 4 4 4 Q2 Q2-W15 15 15 15 Q2-W16 16 16 16 Q2-W17 1

以季度和周为多索引的我的数据帧:

Quarter   Week      X   Y   Z
Q1        Q1-W01    1   1   1
          Q1-W02    2   2   2
          Q1-W03    3   3   3
          Q1-W04    4   4   4
Q2        Q2-W15    15  15  15
          Q2-W16    16  16  16
          Q2-W17    17  17  17
          Q2-W18    18  18  18
我试图将Q1(Q1-W04)中的最后一行添加到Q2(Q2-W15到Q2-W18)中的所有行。这就是我希望数据帧的外观:

Quarter   Week      X   Y   Z
Q1        Q1-W01    1   1   1
          Q1-W02    2   2   2
          Q1-W03    3   3   3
          Q1-W04    4   4   4
Q2        Q2-W15    19  19  19
          Q2-W16    20  20  20
          Q2-W17    21  21  21
          Q2-W18    22  22  22
当我尝试只指定级别0索引和特定行时,所有Q2值都将变为NaN

df.loc['Q2'] += df.loc['Q1','Q1-W04'] 

Quarter   Week      X   Y   Z
Q1        Q1-W01    1   1   1
          Q1-W02    2   2   2
          Q1-W03    3   3   3
          Q1-W04    4   4   4
Q2        Q2-W15    NaN NaN NaN
          Q2-W16    NaN NaN NaN
          Q2-W17    NaN NaN NaN
          Q2-W18    NaN NaN NaN
我发现,如果同时指定0级和1级索引,就不会有问题

df.loc['Q2','Q2-W15'] += df.loc['Q1','Q1-W04']

Quarter   Week      X   Y   Z
Q1        Q1-W01    1   1   1
          Q1-W02    2   2   2
          Q1-W03    3   3   3
          Q1-W04    4   4   4
Q2        Q2-W15    19  19  19
          Q2-W16    16  16  16
          Q2-W17    17  17  17
          Q2-W18    18  18  18
是否有一种方法可以将特定行与Q2 0级索引中的所有行相加,而不必通过其1级索引单独调用每一行

如有任何见解/指导,将不胜感激

多谢各位

试试这个

df.loc['Q2'] = (df.loc['Q2'] + df.loc['Q1', 'Q1-W04']).values.tolist()

loc返回一个数据帧,以设置它在列表或数组中查找的值。因此,上述内容。

在您的情况下,我们应该消除
索引的影响

df.loc['Q2','Q2-W15'] += df.loc['Q1','Q1-W04'].values

将值与.valuesu一起添加到答案中@YOBEN_S。