Python 如何使用pandas.Panel对数据帧列表进行平均?

Python 如何使用pandas.Panel对数据帧列表进行平均?,python,pandas,dataframe,pandas-groupby,Python,Pandas,Dataframe,Pandas Groupby,我正在计算的200个用户度量每个方法的列和行,并将其保存到数据帧中。我使用pandas.Panel对每个方法的所有测量值对所有用户进行平均 在为用户计算测量值的for循环之前,这适用于两个用户,例如0和1 如何对所有用户分别采用15种措施和11种方法的平均值 dfs {0: m1 s2 ... ee vd RF 0.536819 0.698611 ... 57.144087 -55.78

我正在计算的200个用户度量每个方法的列和行,并将其保存到数据帧中。我使用pandas.Panel对每个方法的所有测量值对所有用户进行平均

在为用户计算测量值的for循环之前,这适用于两个用户,例如0和1

如何对所有用户分别采用15种措施和11种方法的平均值

dfs
{0:              m1        s2       ...      ee         vd
RF              0.536819  0.698611  ...  57.144087 -55.781946
OL              0.480758  0.649341  ...  61.991170 -57.210469
LA              0.427991  0.599431  ...  67.091363 -57.026384
AP              0.466703  0.636397  ...  63.612812 -57.285542
AP2             0.467951  0.637557  ...  63.677943 -59.602584
MA              0.428375  0.599807  ...  67.073286 -56.977762
RC              0.536892  0.698672  ...  57.135469 -55.766803
DP              0.536819  0.698611  ...  57.144087 -55.781946
DC              0.537510  0.699195  ...  57.014234 -55.574017
KU              0.537032  0.698791  ...  57.111874 -55.745237
KE              0.493517  0.660879  ...  60.704082 -57.366922

[11 rows x 15 columns], 1:                  m1        s2       ...      ee         vd
RF              0.369103  0.539190  ...  61.541261 -48.183651
OL              0.334069  0.500827  ...  66.807720 -43.531795
LA              0.300838  0.462530  ...  70.741817 -39.702935
AP              0.322879  0.488146  ...  68.371827 -38.054113
AP2             0.322453  0.487659  ...  68.212097 -47.518693
MA              0.301198  0.462955  ...  70.716283 -39.436550
RC              0.369095  0.539181  ...  61.546610 -48.155079
DP              0.369103  0.539190  ...  61.541261 -48.183651
DC              0.369500  0.539613  ...  61.484330 -48.376968
KU              0.369116  0.539203  ...  61.539789 -48.176711
KE              0.341218  0.508818  ...  65.061794 -49.218448
输出

                  m1        s2         ee         vd
method user                                          
AP     0     0.466703  0.636397  63.612812 -57.285542
       1     0.322879  0.488146  68.371827 -38.054113
AP2    0     0.467951  0.637557  63.677943 -59.602584
       1     0.322453  0.487659  68.212097 -47.518693
DC     0     0.537510  0.699195  57.014234 -55.574017
       1     0.369500  0.539613  61.484330 -48.376968
DP     0     0.536819  0.698611  57.144087 -55.781946
       1     0.369103  0.539190  61.541261 -48.183651
KE     0     0.493517  0.660879  60.704082 -57.366922
       1     0.341218  0.508818  65.061794 -49.218448
KU     0     0.537032  0.698791  57.111874 -55.745237
       1     0.369116  0.539203  61.539789 -48.176711
LA     0     0.427991  0.599431  67.091363 -57.026384
       1     0.300838  0.462530  70.741817 -39.702935
MA     0     0.428375  0.599807  67.073286 -56.977762
       1     0.301198  0.462955  70.716283 -39.436550
OL     0     0.480758  0.649341  61.991170 -57.210469
       1     0.334069  0.500827  66.807720 -43.531795
RC     0     0.536892  0.698672  57.135469 -55.766803
       1     0.369095  0.539181  61.546610 -48.155079
RF     0     0.536819  0.698611  57.144087 -55.781946
       1     0.369103  0.539190  61.541261 -48.183651

#Average based on the method
df_combined.groupby(level=0).mean()
    m1          s2          ee           vd
method              
AP  0.394791    0.562272    65.992319   -47.669827
AP2 0.395202    0.562608    65.945020   -53.560638
DC  0.453505    0.619404    59.249282   -51.975493
DP  0.452961    0.618900    59.342674   -51.982799
KE  0.417368    0.584848    62.882938   -53.292685
KU  0.453074    0.618997    59.325831   -51.960974
LA  0.364414    0.530981    68.916590   -48.364660
MA  0.364787    0.531381    68.894785   -48.207156
OL  0.407413    0.575084    64.399445   -50.371132
RC  0.452994    0.618926    59.341040   -51.960941
RF  0.452961    0.618900    59.342674   -51.982799
输出

                  m1        s2         ee         vd
method user                                          
AP     0     0.466703  0.636397  63.612812 -57.285542
       1     0.322879  0.488146  68.371827 -38.054113
AP2    0     0.467951  0.637557  63.677943 -59.602584
       1     0.322453  0.487659  68.212097 -47.518693
DC     0     0.537510  0.699195  57.014234 -55.574017
       1     0.369500  0.539613  61.484330 -48.376968
DP     0     0.536819  0.698611  57.144087 -55.781946
       1     0.369103  0.539190  61.541261 -48.183651
KE     0     0.493517  0.660879  60.704082 -57.366922
       1     0.341218  0.508818  65.061794 -49.218448
KU     0     0.537032  0.698791  57.111874 -55.745237
       1     0.369116  0.539203  61.539789 -48.176711
LA     0     0.427991  0.599431  67.091363 -57.026384
       1     0.300838  0.462530  70.741817 -39.702935
MA     0     0.428375  0.599807  67.073286 -56.977762
       1     0.301198  0.462955  70.716283 -39.436550
OL     0     0.480758  0.649341  61.991170 -57.210469
       1     0.334069  0.500827  66.807720 -43.531795
RC     0     0.536892  0.698672  57.135469 -55.766803
       1     0.369095  0.539181  61.546610 -48.155079
RF     0     0.536819  0.698611  57.144087 -55.781946
       1     0.369103  0.539190  61.541261 -48.183651

#Average based on the method
df_combined.groupby(level=0).mean()
    m1          s2          ee           vd
method              
AP  0.394791    0.562272    65.992319   -47.669827
AP2 0.395202    0.562608    65.945020   -53.560638
DC  0.453505    0.619404    59.249282   -51.975493
DP  0.452961    0.618900    59.342674   -51.982799
KE  0.417368    0.584848    62.882938   -53.292685
KU  0.453074    0.618997    59.325831   -51.960974
LA  0.364414    0.530981    68.916590   -48.364660
MA  0.364787    0.531381    68.894785   -48.207156
OL  0.407413    0.575084    64.399445   -50.371132
RC  0.452994    0.618926    59.341040   -51.960941
RF  0.452961    0.618900    59.342674   -51.982799
从这里开始,如果您需要查看基于度量的平均值,则可以直接相应地调整它,即使用pd.transpose

参考另一篇文章中提供的解决方案,您似乎错过了一个步骤:

panel=pd.panel(dfs).mean(axis=0)
请注意,自从我在中找到答案的版本0.20以来,该版本一直被弃用 仅一行命令

df = pd.concat(dfs).mean(level=0)

这显示了相同的错误:panel=pd.Paneldfs.meanaxis=0***TypeError:object不带参数正如我所说,panel已被弃用,这可能是错误的原因-我的答案与您对另一篇文章的引用有关。更新答案以提供解决方案