擅长:python、mysql、java
<p>使用<code>.str.contains</code>和<code>.loc</code>的组合</p>
<pre><code>publications.loc[publications.title.str.contains(search_term), ['title', 'publication_ID']]
</code></pre>
<p>小心点,因为如果你的标题是<code>'nightlife'</code>,有人搜索<code>'night'</code>,这将返回一个匹配项。如果这不是你想要的行为,那么你可能需要<code>.str.split</code></p>
<hr/>
<p>正如jpp指出的,<code>str.contains</code>是区分大小写的。一个简单的解决方法就是确保所有内容都是小写的</p>
<pre><code>title_mask = publications.title.str.lower().str.contains(search_term.lower())
pmids = publications.loc[title_mask, ['title', 'publication_ID']]
</code></pre>
<p>现在<code>Lord</code>、<code>LoRD</code>、<code>lord</code>和所有其他排列都将返回有效匹配,并且原始<code>DataFrame</code>的大小写保持不变</p>