擅长:python、mysql、java
<p>同意<code>apply()</code>可以很慢。您希望尽可能利用矢量化操作。尝试使用连接运算符(<code>+</code>)。这能更快吗</p>
<pre><code>pd_df.loc[flag, 'COL_{}'.format(col_number)] = pd_df.loc[flag,'COL{}'.format(col_number)] + (str(userid) + "@")
</code></pre>
<p>此外,不确定这是否有帮助,但其中一些字符串应该预先计算(可能Python已经在缓存它们,但万一没有):</p>
<pre><code>col_name = 'COL_{}'.format(col_number)
suffix = str(userid) + "@"
pd_df.loc[flag, col_name] = pd_df.loc[flag, col_name] + suffix
</code></pre>