我的数据框中有一个“描述”列,我正在此列中搜索关键字列表。如果特定行中存在关键字,则能够返回True或False值。我想再增加一列,以显示列表中的哪个关键字与该行中的数据匹配。
例如:
content = ['paypal', 'silverline', 'bcg', 'onecap']
#dataframe df
Description Debit Keyword_present
onech xmx paypal 555 True
xxl 1ef yyy 141 False
bcg tte exact 411 True
并且新列应如下所示:
Keyword
paypal
NA
bcg
到目前为止,如果关键字存在,我将尝试获取T / F值。
#content is my list of keywords
present = new_df['Description'].str.contains('|'.join(content))
new_df['Keyword Present'] = present
代替contains
,使用extract
稍微不同的模式:
pattern = '(' + '|'.join(content) + ')'
df['Keyword Present'] = df.Description.str.extract(pattern)
输出:
Description Debit Keyword_present Keyword Present
0 onech xmx paypal 555 True paypal
1 xxl 1ef yyy 141 False NaN
2 bcg tte exact 411 True bcg
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句