Python 将较低级别的列与表中的每一行相乘

Python 将较低级别的列与表中的每一行相乘,python,pandas,dataframe,multi-index,Python,Pandas,Dataframe,Multi Index,我对pandas不熟悉,有一个多索引数据框df,有两级列,如下所示 one zero y x y x 0 0.625695 2.149377 0.006123 0.854284 1 -1.392909 0.849853 0.005477 1.743587 one zero x

我对pandas不熟悉,有一个多索引数据框
df
,有两级列,如下所示

        one                zero
          y         x         y         x
0  0.625695  2.149377  0.006123  0.854284
1 -1.392909  0.849853  0.005477  1.743587
         one                    zero
           x           y           x           y
0   3.224066    1.564237    1.281426    0.015307
1   1.274779   -3.482272    2.615381    0.013692
现在,我想用相同长度的列表乘以level=1的每一行

到目前为止,我只通过以下方式实现了这一点
df.stack(level=0)、mul([1.5,2.5])、unstack(level=0)、swaplevel(0,1,axis=1)、T.sort_index().T

输出应该如下所示

        one                zero
          y         x         y         x
0  0.625695  2.149377  0.006123  0.854284
1 -1.392909  0.849853  0.005477  1.743587
         one                    zero
           x           y           x           y
0   3.224066    1.564237    1.281426    0.015307
1   1.274779   -3.482272    2.615381    0.013692
我相信一定有更简单/更优雅的方法来实现这一点。 有人能给我指出正确的方向吗?

你的意思是:

df.mul(pd.Series({'x':1.5, 'y':2.5}), level=1)
输出:

        one                zero          
          y         x         y         x
0  1.564237  3.224066  0.015307  1.281426
1 -3.482272  1.274780  0.013692  2.615381
你是说:

df.mul(pd.Series({'x':1.5, 'y':2.5}), level=1)
输出:

        one                zero          
          y         x         y         x
0  1.564237  3.224066  0.015307  1.281426
1 -3.482272  1.274780  0.013692  2.615381

嗨,欢迎来到苏。请包括一个预期的输出,我不知道一行如何与一个列表相乘(即我不知道你想要什么)。嗨,欢迎来到SO。请包括一个预期的输出,我不知道如何将一行与一个列表相乘(即我不知道你想要什么)。非常感谢