亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

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

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

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

1 回答

?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

用于DataFrame.dot將所有列與最大值進行比較:

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


查看完整回答
反對 回復 2023-12-26
  • 1 回答
  • 0 關注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號