對于一個資料幀:
df = pd.DataFrame({"A":[0,0],"B":[0,1],"C":[1,2],"D":[2,2]})
當值為2或某個值時,如何獲得列名或列索引
并把它放在df的一個新列里,比如df["TAG"]df = pd.DataFrame({"A":[0,0],"B":[0,1],"C":[1,2],"D":[2,2],"TAG":[D,C]})
我試過
df["TAG"]=np.where(df[cols]>=2,df.columns,'')
其中[cols]是df列的串列
。到目前為止,我只能找到在Pandas中匹配一個值時如何找到行的索引
在excel中,我們可以找到行的索引。
在excel中,我們可以使用MATCH(TRUE,INDEX($A:$D>=2,0),)做一些方法,并應用于多行
任何幫助或提示都可以。
歡迎任何幫助或提示
。非常感謝您的幫助
uj5u.com熱心網友回復:
嘗試idxmax:
>>> df['TAG'] = df.ge(2).T.idxmax()
>>> df
A B C D TAG
0 0 0 1 2 D
1 0 1 2 2 C
>>>
uj5u.com熱心網友回復:
試一下:
search = df.ge(2).any()
# A 假的。
# B 假的。
# C 真 # C 真
# D 真 # D 真
# dtype: bool[/span]。
df['TAG'] = search[search == True].index
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/323182.html
標籤:
