Для этого также можно использовать цикл for
:
def strfinder(df, mystr):
for col in df:
for item in df[col]:
if mystr in item:
return col
print(strfinder(df, 'MCDO'))
Чтобы получить все столбцы, которые могут иметь строку, например, в измененном кадре данных ниже:
Groceries Electricity Fastfood Parking
0 SHOP ELCOMPANY MCDONALDS park
1 MARKET MCDON Subway car
2 market electr Restauran 247
можно использовать «понимание списка»:
mystr = 'MCDO'
outlist = [ col
for col in df
for item in df[col]
if mystr in item ]
print(outlist)
Выход:
['Electricity', 'Fastfood']