擅长:python、mysql、java
<p>您可以使用嵌套的<code>np.where</code>调用:</p>
<pre><code>df.C = np.where(df.A == 1, 1, np.where(df.B == -1, -1, 0))
df
A B C
0.1 0 -1 -1
0.2 1 0 1
0.3 0 0 0
0.4 1 0 1
</code></pre>
<hr/>
<p><strong>性能</strong></p>
<pre><code>df = pd.concat([df] * 100000)
%timeit np.select([df.A == 1, df.B == -1], [1, -1])
100 loops, best of 3: 5.25 ms per loop
%timeit np.where(df.A == 1, 1, np.where(df.B == -1, -1, 0))
100 loops, best of 3: 2.86 ms per loop
</code></pre>