擅长:python、mysql、java
<p><code>np.where</code>是一个非常有效的解决方案,但最多只能用于两个数组。你知道吗</p>
<p>我会这样做:</p>
<pre><code>np.stack((a, b))[select, np.arange(len(a))]
</code></pre>
<p>这应该扩展到任意数量的阵列,例如:</p>
<pre><code>a = ...
b = ...
# ...
z = ...
select = [0, 13, 2, 5, 25, ...]
np.stack((a, b, ... z))[select, np.arange(len(a))]
</code></pre>