3 回答

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊
如果您可以搜索整個(gè)字符串,那就更容易了,
(df == 'MCDONALDS').any().idxmax()
否則使用申請(qǐng),
df.apply(lambda x: x.str.startswith('MCDO').any()).idxmax()

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊
也可以for為此使用循環(huán):
def strfinder(df, mystr):
for col in df:
for item in df[col]:
if mystr in item:
return col
print(strfinder(df, 'MCDO'))
要獲取可能包含字符串的所有列,例如在下面修改后的數(shù)據(jù)框中:
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']

TA貢獻(xiàn)2065條經(jīng)驗(yàn) 獲得超14個(gè)贊
或使用:
print(df.apply(lambda x: x.str.contains('MCDO')).replace(False,np.nan).dropna(axis=1,how='all').columns.item())
輸出:
Fastfood
添加回答
舉報(bào)