Pandas在多列中查找某行中第一次出现的特定值,并返回列索引

1 人关注

对于一个数据框架。
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]})

i tried
df["TAG"]=np.where(df[cols]>=2,df.columns,'')

where [cols] is the list of df columns

到目前为止,我只能找到在Pandas中匹配一个值时如何找到行的索引。

In excel we can do some approach using MATCH(TRUE,INDEX($A:$D>=2,0),) and apply to multiple rows

希望得到任何帮助或提示

非常感谢你的到来

python
python-3.x
pandas
dataframe
numpy
m3wIsw3m
m3wIsw3m
发布于 2021-09-20
1 个回答
U12-Forward
U12-Forward
发布于 2021-09-20
已采纳
0 人赞同

Try idxmax :

>>> df['TAG'] = df.ge(2).T.idxmax()