猿问

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

我需要计算 DataFrame 中某个列的平均值,以便计算每一行的平均值,不包括计算它的行的值。

我知道我可以按索引迭代每一行,在每次迭代中按索引删除每一行,然后计算平均值。我想知道是否有更有效的方法来做到这一点。


慕桂英4014372
浏览 181回答 2
2回答

胡子哥哥

所以mean是sum/size这样,你可以减去sum柱和除以长度的所有值DataFrame,而不1:df = pd.DataFrame({'a':[1,2,3,4]})#slow, working only with unique valuesdf['b'] = df['a'].apply(lambda x: df.loc[df.a != x, 'a'].mean())#fasterdf['b1'] = (df['a'].sum() - df['a']) / (len(df) - 1)print (df)   a         b        b10  1  3.000000  3.0000001  2  2.666667  2.6666672  3  2.333333  2.3333333  4  2.000000  2.000000

牛魔王的故事

您可以dataframe["ColumnName"].mean()为单列或dataframe.describe()所有列
随时随地看视频慕课网APP

相关分类

Python
我要回答