擅长:python、mysql、java
<p>以下是使用矢量化函数的一种方法:</p>
<pre><code># truncate to first 10 characters, or 12 including '-'
df1['ID'] = df1['ID'].str[:12]
# filter for IDs in df2
df3 = df1[df1['ID'].isin(df2['ID'])]
</code></pre>
<p><strong>结果</strong></p>
<pre><code> ID KRAS ATM
1 TCGA-3C-AALI 101 75
2 TCGA-3C-AALJ 102 65
</code></pre>
<p><strong>解释</strong></p>
<ul>
<li>使用<code>.str</code>访问器将<code>df1['ID']</code>限制为前12个字符</李>
<li>屏蔽<code>df1</code>以仅包括在<code>df2</code>中找到的ID</李>
</ul>