第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

替換行中高于列值的值

替換行中高于列值的值

郎朗坤 2021-05-06 18:50:21
這似乎很簡單,但我無法弄清楚。因此,給定以下數(shù)據(jù)集:df = pd.DataFrame(np.random.randint(0,100,size=(50, 3)), columns=list('ABC'))df['Mean'] = df.mean(axis=1)    A   B   C   Mean0   26  6   73  35.0000001   89  55  29  57.6666672   8   89  87  61.3333333   83  25  64  57.3333334   35  89  97  73.666667如何替換單行中高于該行的平均列的所有值?所需的輸出:    A   B   C   Mean0   26  6   0   35.0000001   0   55  29  57.6666672   8   0   0   61.3333333   0   25  0   57.3333334   35  0   0   73.666667我已經(jīng)試過了:df.apply(lambda x: 0 if x > df['Mean'] else x)這導(dǎo)致ValueError:ValueError:('系列的真值不明確。請使用a.empty,a.bool(),a.item(),a.any()或a.all()。','發(fā)生在索引A' )
查看完整描述

2 回答

?
MMMHUHU

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個贊

這應(yīng)該工作

df[df>df.mean(axis=1).tolist()] = 0

或者,如果您想使用均值列

df[df>df['Mean'].tolist()] = 0


查看完整回答
反對 回復(fù) 2021-05-18
?
狐的傳說

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個贊

我認(rèn)為那可以工作


for i in range(df.shape[1]):

    mask = df.iloc[:,i] > df.Mean

    column_name = df.columns[i]

    df.loc[mask, column_name] = 0


查看完整回答
反對 回復(fù) 2021-05-18
  • 2 回答
  • 0 關(guān)注
  • 128 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號