为了账号安全,请及时绑定邮箱和手机立即绑定

计算每一行的列的平均值,不包括计算平均值的行

计算每一行的列的平均值,不包括计算平均值的行

慕桂英4014372 2021-07-28 13:57:37
我需要计算 DataFrame 中某个列的平均值,以便计算每一行的平均值,不包括计算它的行的值。我知道我可以按索引迭代每一行,在每次迭代中按索引删除每一行,然后计算平均值。我想知道是否有更有效的方法来做到这一点。
查看完整描述

2 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

所以mean是sum/size这样,你可以减去sum柱和除以长度的所有值DataFrame,而不1:


df = pd.DataFrame({'a':[1,2,3,4]})


#slow, working only with unique values

df['b'] = df['a'].apply(lambda x: df.loc[df.a != x, 'a'].mean())

#faster

df['b1'] = (df['a'].sum() - df['a']) / (len(df) - 1)

print (df)

   a         b        b1

0  1  3.000000  3.000000

1  2  2.666667  2.666667

2  3  2.333333  2.333333

3  4  2.000000  2.000000


查看完整回答
反对 回复 2021-08-03
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

您可以dataframe["ColumnName"].mean()为单列或dataframe.describe()所有列


查看完整回答
反对 回复 2021-08-03
  • 2 回答
  • 0 关注
  • 180 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信