如何从 pandas 数据帧中的每一行的 N 单元中找到最佳 n 的平均值?
查看下面的数据框,我想在其中找到 6 个中最好的 4 个分数的平均值(n=4,N=6):
df = pd.DataFrame({'stu1' : [17,19,12,17,13,13],
'stu2' : [20,18,15,17,15,0],
'stu3' : [16,19,0,16,0,0],
'stu4' : [0,0,0,0,0,0],
'stu5' : [0,8,14,0,7,9]},
index = 'q1 q2 q3 q4 q5 q6'.split()).T
st1 中最好的 4 个的平均值将基于以下值:17、19、17、13 和 16.50。 st3 将基于 16、19、0、16,结果为 12.75。
如何对所有行进行计算?
请您参考如下方法:
魔方
df.stack().sort_values().groupby(level=0).tail(4).mean(level=0)
stu4 0.00
stu3 12.75
stu5 9.50
stu1 16.50
stu2 17.50
dtype: float64
