擅长:python、mysql、java
<p>试试这个</p>
<pre><code>df['col2'] = df.col1.map({k.split("_")[0]: k for k in list1}).fillna(df.col1)
</code></pre>
<p><strong>或</strong></p>
<pre><code>df['col2'] = df.col1.replace({k.split("_")[0]: k for k in list1})
</code></pre>
<hr/>
<pre><code>df
Out[93]:
col1 col2
0 Img Img_A_10
1 Fruit Fruit_A_100
2 Img Img_A_10
3 Ball Ball_B_120
4 Ball Ball_B_120
5 Fruit Fruit_A_100
6 shirt shirt
7 Fruit Fruit_A_100
</code></pre>