擅长:python、mysql、java
<p>有关给定方法与其他可用方法的比较,请参阅@Jezrael answer。你知道吗</p>
<h3>方法1</h3>
<p>要添加包含<code>.</code>的伪列,请在处理中使用它,然后删除它:</p>
<pre><code>%%timeit
df3['dummy'] ='.'
res = df3['job_number'].values.astype(str) + df3['dummy'] + df3['task_number'].values.astype(str)
df3.drop(columns=['dummy'], inplace=True)
1.31 ms ± 41.1 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
</code></pre>
<p>对于方法1的扩展,如果排除创建伪列的处理时间并将其删除,则得到的最佳结果是-</p>
<pre><code>%%timeit
df3['job_number'].values.astype(str) + df3['dummy'] + df3['task_number'].values.astype(str)
286 µs ± 15.9 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
</code></pre>
<hr/>
<h3>方法2</h3>
<p>使用<code>apply</code></p>
<pre><code>%timeit df3.T.apply(lambda x: str(x[0]) + '.' + str(x[1]))
883 µs ± 22 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
</code></pre>