2 回答

TA貢獻1906條經驗 獲得超3個贊
您可以將自定義 lambda 函數從這里傳遞給np.where:
import re
f = lambda x: bool(re.search(r'\b{}\b'.format(x['BrandName']), x['Name']))
testdf['match'] = np.where(testdf.apply(f, axis = 1), "Unknown", testdf["BrandName"])
print (testdf)
Name BrandName match
0 Coca Cola Coca Cola Unknown
1 Coca Cola cherry Coca Cola Unknown
2 Coca Cola life Coca Cola Unknown
3 Coca Cola Life Coca Cola Unknown

TA貢獻1815條經驗 獲得超13個贊
這是使用 的一種mask方法apply:
testdf['BrandName'] = (testdf.BrandName.mask(testdf.apply(
lambda x: x.BrandName in x.Name, axis=1),
'Unkown'))
Name BrandName
0 Coca Cola Unkown
1 Coca Cola cherry Unkown
2 Coca Cola life Unkown
3 Coca Cola Life Unkown
添加回答
舉報