我想计算多索引数据帧中数值列的平均值,并将新结果附加到数据帧中作为新行。
subject 1 subject 2 subject 3…
Country Unite 2017 2018 Frq 2017 Score 2018 Score 2017 2018 Frq 2017 Score 2018 Score
Argentina K 12 22 100 50.77214238 51.54316539 12 22 100 50.77214238 51.54316539
Australia K 68 13 150 66.92805676 67.60645268 68 13 150 66.92805676 67.60645268
Mean 40 17.5 125 58.85009957 59.57480904 40 17.5 125 58.85009957 59.57480904
我尝试使用此行,但是我得到了一个新行,其中包含nan
G20.loc['mean'] = G20.mean(axis=0, numeric_only=True)
谢谢
答案 0 :(得分:0)
尝试一下:
np.random.seed(43)
df = pd.DataFrame(np.random.randint(0,10,(6,6)), columns = pd.MultiIndex.from_product([['Top A','Top B'],['W','X','Y']]))
df.loc['Mean',:] = df.mean()
print(df)
输出:
Top A Top B
W X Y W X Y
0 6.0 3.000000 7.0 4.000000 6.000000 9.000000
1 2.0 6.000000 7.0 4.000000 3.000000 7.000000
2 7.0 2.000000 5.0 4.000000 1.000000 7.000000
3 5.0 1.000000 4.0 0.000000 9.000000 5.000000
4 8.0 0.000000 9.0 2.000000 6.000000 3.000000
5 8.0 2.000000 4.0 2.000000 6.000000 4.000000
Mean 6.0 2.333333 6.0 2.666667 5.166667 5.833333