这似乎很简单,但我无法弄清楚。因此,给定以下数据集:
df = pd.DataFrame(np.random.randint(0,100,size=(50, 3)), columns=list('ABC'))
df['Mean'] = df.mean(axis=1)
A B C Mean
0 26 6 73 35.000000
1 89 55 29 57.666667
2 8 89 87 61.333333
3 83 25 64 57.333333
4 35 89 97 73.666667
如何替换单行中高于该行的平均列的所有值?
所需的输出:
A B C Mean
0 26 6 0 35.000000
1 0 55 29 57.666667
2 8 0 0 61.333333
3 0 25 0 57.333333
4 35 0 0 73.666667
我已经试过了:
df.apply(lambda x: 0 if x > df['Mean'] else x)
这导致ValueError:
ValueError:('系列的真值不明确。请使用a.empty,a.bool(),a.item(),a.any()或a.all()。','发生在索引A' )
MMMHUHU
狐的传说
相关分类