擅长:python、mysql、java
<p>只需区分列,例如</p>
<pre><code>df['new_col'] = df['a'] - df['b']
</code></pre>
<p>对于多个列,我认为unutbu的答案是最好的(尽管它返回的是np.ndarray对象而不是dataframe,但即使在将其转换为dataframe之后,它仍然更快)。</p>
<pre><code># Create a large dataframe.
df = pd.DataFrame(np.random.randn(1e6, 100))
%%timeit
np.diff(df.values, axis=1)
1 loops, best of 3: 450 ms per loop
%%timeit
df - df.shift(axis=1)
1 loops, best of 3: 727 ms per loop
%%timeit
df.T.diff().T
1 loops, best of 3: 1.52 s per loop
</code></pre>