我有一个 DataFrame df,我试过ddf = df.describe()
,得到如下结果。
我想在此基础上做一个报告,
所以我想将平均值/最大值/最小值分开并将它们放在我的 Word 文档中。
我尝试了很多方法,但除非我将 ddf 弄平,否则我无法根据item
.
Absmm Xmm Ymm Zmm
Node item
269.0 count 2.600000e+01 26.000000 26.000000 26.000000
mean -5.150000e-02 0.005423 0.027385 -0.057077
std 9.984077e-02 0.012113 0.076432 0.090868
min -2.820000e-01 -0.014000 -0.012000 -0.265000
25% -7.250000e-02 -0.000750 -0.001750 -0.072250
50% -8.000000e-03 0.005000 0.000000 -0.013500
75% 6.750000e-03 0.009750 0.012500 0.002500
max 6.600000e-02 0.048000 0.288000 0.052000
275.0 count 2.600000e+01 26.000000 26.000000 26.000000
mean -8.688462e-02 -0.011000 0.035615 -0.053077
std 1.540525e-01 0.017797 0.113538 0.125961
min -5.990000e-01 -0.060000 -0.016000 -0.600000
25% -1.015000e-01 -0.020500 0.000000 -0.078500
50% -2.400000e-02 -0.006500 0.001000 -0.019500
75% -4.250000e-03 -0.001000 0.013250 0.001000
max 5.300000e-02 0.034000 0.567000 0.112000
我试过dmean = ddf.loc[ddf.index[1] == 'mean']
或类似的东西,
但我就是得不到我想要的。
如何基于过滤获得单独数据帧中每个节点的平均值?
你非常接近 - 使用Index.get_level_values
:
#select by position - second level of MultiIndex
dmean = ddf.loc[ddf.index.get_level_values(1) == 'mean']
#select by level name
dmean = ddf.loc[ddf.index.get_level_values('item') == 'mean']
更好的是使用DataFrame.xs
:
dmean = ddf.xs('mean', axis=0, level=1)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句