如何在整个 Pandas 数据框中搜索字符串并获取包含该字符串的列的名称?

KMF*_*MFR 3 python contains string-matching dataframe pandas

我想在包含给定字符串的数据帧(“类别”)中查找列的名称。

categories

    Groceries   Electricity Fastfood    Parking 
0   SHOP        ELCOMPANY   MCDONALDS   park
1   MARKET      ELECT       Subway      car
2   market      electr      Restauran   247 
Run Code Online (Sandbox Code Playgroud)

假设我想在整个数据帧中搜索字符串“MCDO”。答案应该是“快餐”。我尝试使用 str.contains 但它似乎不适用于数据帧。

我怎样才能实现这个目标?谢谢。

Vai*_*ali 5

如果您可以搜索整个字符串,那就更容易了,

(df == 'MCDONALDS').any().idxmax()
Run Code Online (Sandbox Code Playgroud)

否则使用应用,

df.apply(lambda x: x.str.startswith('MCDO').any()).idxmax()
Run Code Online (Sandbox Code Playgroud)