df.meal(axis=1)函数数据帧是所有行的python吗



在下一个代码中,我想,当在一行中找到0.254的值时,它没有被平均,值0.254被留下,它进入下一行,但它不起作用,它对所有值进行平均

df = pd.DataFrame({'uno': [1, 2, 3], 'dos': [0.254, 5, 6], 'tres': [7, 8, 9]}, index=['x', 'y', 'z'])
df_range = len(df)
for row in df:
if df[row][i]==0.254:
df['mean'][i]=0.254
else:
df['mean'] = df.mean(axis=1)
print df

你知道哪里可能出了问题吗?也许在部分:

else:
df['mean'] = df.mean(axis=1)

但我不知道如何修复

谢谢!

如果该行中的任何值为0.254,则使用np.where将平均值设置为0.254;否则将其设置为该行本身的平均值,例如:

df['mean'] = np.where(df.eq(0.254).any(axis=1), 0.254, df.mean(axis=1))

相关内容

  • 没有找到相关文章

最新更新