<p>您可以将<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.concat.html" rel="nofollow">^{<cd1>}</a>与<code>list comprehension</code>一起使用:</p>
<pre><code>#changed ber to bar
list_words='foo bar haa'
df = pd.DataFrame({'A' : ['foo foor', 'bar bar', 'foo hoo', 'bar haa',
'foo bar', 'bar bur', 'foo fer', 'foo for']})
print (df)
A
0 foo foor
1 bar bar
2 foo hoo
3 bar haa
4 foo bar
5 bar bur
6 foo fer
7 foo for
print((pd.concat([df.A.str.contains(word,regex=False) for word in list_words.split()],axis=1))
.sum(1) > 1)
0 False
1 False
2 False
3 True
4 True
5 False
6 False
7 False
dtype: bool
</code></pre>
<p><strong>计时</strong>:</p>
^{pr2}$
<hr/>
<pre><code>In [292]: %timeit ((pd.concat([df.A.str.contains(word) for word in list_words.split()], axis=1)).sum(1) > 1)
100 loops, best of 3: 16 ms per loop
In [325]: %timeit (jon(df))
100 loops, best of 3: 8.97 ms per loop
In [294]: %timeit ((pd.concat([df.A.str.contains(word,regex=False) for word in list_words.split()], axis=1)).sum(1) > 1)
100 loops, best of 3: 8.13 ms per loop
In [295]: %timeit df['A'].map(lambda x: check(x, list_words))
100 loops, best of 3: 14.7 ms per loop
</code></pre>