回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个要搜索的字符串列表。你知道吗</p>
<pre><code>strings = ['Tea','Baseball','Onus']
</code></pre>
<p>我的数据帧是</p>
<pre><code> itemid desc
0 101 tea leaves
1 201 baseball gloves
3 221 teas leaves from Onus Green Tea Co.
</code></pre>
<p>我想得到这样的东西,不考虑部分匹配</p>
<pre><code> itemid desc matches
0 101 tea leaves [Tea]
1 201 baseball gloves [Baseball]
2 221 teas leaves from Onus Green Tea Co. [Tea, Onus]
</code></pre>
<p>我正在这么做</p>
<pre><code>import re
df['desc'] = df.desc.str.split(' ')
df['desc'].str.findall('|'.join(strings),flags=re.IGNORECASE)
</code></pre>
<p>但它给了我一系列空逗号</p>
<pre><code>0 [(, , , , , ), (, , , , , ), (, , , , , )]
1 [(, , , , , ), (, , , , , ), (, , , , , )]
2 [(, , , , , ), (, , , , , ), (, , , , , )]
</code></pre>
<p>请帮我解决这个问题。你知道吗</p>
<p>编辑:我不想要部分匹配。更新的例子反映了这一点。你知道吗</p>