擅长:python、mysql、java
<p>如果要使用in语法,可以执行以下操作:</p>
<pre><code>df.Sequence.apply(lambda x: 'WOD' in x)
</code></pre>
<p>如果考虑性能,则以下解决方案的速度比其他解决方案快很多倍:</p>
<pre><code>['WOD' in e for e in df.Sequence]
</code></pre>
<p><strong>基准</strong></p>
<pre><code>%%timeit
['WOD' in e for e in df.Sequence]
8.26 µs ± 90.7 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
%%timeit
df.Sequence.apply(lambda x: 'WOD' in x)
164 µs ± 7.26 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)
%%timeit
df['Sequence'].str.contains('WOD')
153 µs ± 4.49 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)
%%timeit
df['Sequence'].str.find('WOD')
159 µs ± 7.84 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)
%%timeit
df.Sequence.str.findall('W|O|D').str.join('').str.contains('WOD')
585 µs ± 34 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
</code></pre>