擅长:python、mysql、java
<p>在pandas中,最好避免循环,因为速度慢,最好使用矢量化函数</p>
<p>因此,您可以通过<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.str.startswith.html" rel="nofollow noreferrer">^{<cd1>}</a>创建布尔掩码,然后使用<a href="https://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html" rel="nofollow noreferrer">^{<cd3>}</a>将<code>B</code>添加到原始列:</p>
<pre><code>mask = df1['#filename'].astype(str).str.startswith('B')
df1['#filename'] = np.where(mask, df1['#filename'], 'B' + df1['#filename'].astype(str))
</code></pre>
<p>另一种类似的溶液,通过<code>~</code>反转掩模:</p>
<pre><code>df1.loc[~mask, '#filename'] = 'B' + df1['#filename'].astype(str)
</code></pre>
<hr/>
<pre><code>print (df1)
#filename
0 B17.31
1 B107.34
2 B34
3 B50.56
</code></pre>