這是我的資料框
x y z
0 1 0 0
1 1 0 1
2 0 0 1
3 0 1 1
4 1 1 0
當我使用 df.idxmax(axis=1)
我得到的輸出是
x
x
z
y
x
我想要的輸出是
x
z
z
z
y
當兩行包含最大值時,請幫我找到最大行的列名
uj5u.com熱心網友回復:
取垂直對稱,然后取 idxmax 怎么樣,即,
df.iloc[:, ::-1].idxmax(axis=1)
0 x
1 z
2 z
3 z
4 y
所以這df.iloc[:, ::-1]部分是
z y x
0 0 0 1
1 1 0 1
2 1 0 0
3 1 1 0
4 0 1 1
現在是從 z 到 x
重新索引的另一種方式可能更清楚地放棄意圖:
df.reindex(columns=df.columns[::-1]).idxmax(axis=1)
0 x
1 z
2 z
3 z
4 y
如上。
uj5u.com熱心網友回復:
為什么不使用映射或應用或轉換并呼叫函式來產生每行所需的結果?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/398832.html
