如何在整个Pandas数据帧中搜索一个字符串并获得包含它的列的名称?

2024-09-30 04:35:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在包含给定字符串的dataframe(“categories”)中找到列的名称。在

categories

    Groceries   Electricity Fastfood    Parking 
0   SHOP        ELCOMPANY   MCDONALDS   park
1   MARKET      ELECT       Subway      car
2   market      electr      Restauran   247 

假设我要在整个数据帧中搜索字符串“MCDO”。答案应该是“快餐”。我试着用结构包含但它似乎不适用于数据帧。在

我怎样才能做到这一点?谢谢您。在


Tags: 数据字符串名称parkdataframeshopmarketcategories
3条回答

或使用:

print(df.apply(lambda x: x.str.contains('MCDO')).replace(False,np.nan).dropna(axis=1,how='all').columns.item())

输出:

^{pr2}$

如果你可以搜索整个字符串,这会更容易

(df == 'MCDONALDS').any().idxmax()

否则使用apply

^{pr2}$

您可以用contains和{}检查

df.apply(lambda x : x.str.contains('MCDO')).any().loc[lambda x : x].index
Index(['Fastfood'], dtype='object')

相关问题 更多 >

    热门问题