1 回答

TA貢獻1876條經(jīng)驗 獲得超7個贊
keyword
一個想法是在列表理解中在 splited 中進行測試,any
然后通過以下方式設(shè)置新列numpy.where
:
mask = [any(x in y for x in x.split()) for x, y in df[['keyword', 'url']].values]
df['match'] = np.where(mask, 'brand', 'generic')
print (df)
keyword url match
0 camera canon.com generic
1 canon camera canon.com brand
編輯:列表中的值可以與正則表達式Series.str.contains
的連接值一起使用:|
or
mask = df['keyword'].str.contains('|'.join(brands))
df['match'] = np.where(mask, 'brand', 'generic')
print (df)
keyword url match
0 camera canon.com generic
1 canon camera canon.com brand
添加回答
舉報