我想檢查最后一行的所有值是否非零,如果非零則給我列名。
df = pd.DataFrame({'A': [1,2,-2,0,0], 'B': [0, 0, 0, 3, -2], 'C' : [0, 0, -2, 4, 0], 'D': [0, 0, 0, 1, 0]} )
uj5u.com熱心網友回復:
采用:
df.columns[(df.iloc[[-1]] != 0).all()]
輸出:
Index(['B'], dtype='object')
如果您只想獲取列名,請使用:
df.columns[(df.iloc[[-1]] != 0).all()][0]
輸出:
'B'
解釋:
如果值為非零,則此行回傳最后一行的布爾掩碼。
(df.iloc[[-1]] != 0).all()
A B C D
4 False True False False
此行將布爾掩碼應用于資料框的列名。
df.columns[]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/468517.html
上一篇:R:重新排列資料框中行的順序
