擅长:python、mysql、java
<p>使用<code>str.contains</code>进行不区分大小写的匹配。你知道吗</p>
<pre><code>import re
df['Name'] = df['Name'].str.contains(r'anaphylaxis', flags=re.IGNORECASE).astype(int)
</code></pre>
<p>或者,更简洁地说</p>
<pre><code>df['Name'] = df['Name'].str.contains(r'(?i)anaphylaxis').astype(int)
</code></pre>
<p/>
<pre><code>df
ID Name
0 84 1
1 1041 1
2 1194 0
3 1483 0
4 2226 1
5 2428 1
6 2831 0
7 4900 0
</code></pre>
<p><code>contains</code>在您还希望执行基于regex的匹配时非常有用。尽管在这种情况下,您可能可以通过添加<code>regex=False</code>来完全摆脱regex,以获得更高的性能。你知道吗</p>
<hr/>
<p>但是,要获得更多的绩效,请使用列表理解。你知道吗</p>
<pre><code>df['Name'] = np.array(['anaphylaxis' in x.lower() for x in df['Name']], dtype=int)
</code></pre>
<p>或者更好</p>
<pre><code>df['Name'] = [1 if 'anaphylaxis' in x.lower() else 0 for x in df['Name'].tolist()]
</code></pre>
<p/>
<pre><code>df
ID Name
0 84 1
1 1041 1
2 1194 0
3 1483 0
4 2226 1
5 2428 1
6 2831 0
7 4900 0
</code></pre>