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

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

如何根據(jù) pandas python 中的值獲取多個列名稱?

如何根據(jù) pandas python 中的值獲取多個列名稱?

RISEBY 2023-12-26 15:49:59
我有一個包含標(biāo)準(zhǔn)化值的數(shù)據(jù)框。我可以從每一行獲取最大值,但現(xiàn)在我還想獲取相應(yīng)的列名稱。例如 df:|----------------------------------------||    a    |     b     |   c   | 'newcol' ||----------------------------------------||  0.960  |    1.00   | 1.00  |  b, c    ||----------------------------------------||  0.922  |    0.955  | 0.971 |  c       ||----------------------------------------|所以我想創(chuàng)建這個 newcol 包含具有最大值的列名。我已經(jīng)嘗試過df.idxmax(axis=1),但是這僅返回具有最大值的第一列查找 Pandas DataFrame 中最大的所有索引嘗試解決相同的問題,但是數(shù)據(jù)存儲在列表中而不是同一 df 中的新列中
查看完整描述

1 回答

?
狐的傳說

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

用于DataFrame.dot將所有列與最大值進(jìn)行比較:

df['newcol'] = df.eq(df.max(axis=1), axis=0).dot(df.columns + ',').str.strip(',')

print (df)

? ? ? ?a? ? ? b? ? ? c newcol

0? 0.960? 1.000? 1.000? ? b,c

1? 0.922? 0.955? 0.971? ? ? c


查看完整回答
反對 回復(fù) 2023-12-26
  • 1 回答
  • 0 關(guān)注
  • 171 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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