回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个2D numpy数组,如下所示:</p>
<pre><code>import numpy as np
foo = np.array([[(i+1)*(j+1) for i in range(10)] for j in range(5)])
#array([[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
# [ 2, 4, 6, 8, 10, 12, 14, 16, 18, 20],
# [ 3, 6, 9, 12, 15, 18, 21, 24, 27, 30],
# [ 4, 8, 12, 16, 20, 24, 28, 32, 36, 40],
# [ 5, 10, 15, 20, 25, 30, 35, 40, 45, 50]])
</code></pre>
<p>我使用创建一些筛选条件np.非零公司名称:</p>
^{pr2}$
<p>现在是否有一些优雅的numpy切片方法来获得rfilter中r和cfilter中c的foo[r,c]的所有组合?i、 e.我想得到以下输出:</p>
<pre><code>array([[ 6, 7, 8, 9, 10],
[12, 14, 16, 18, 20]])
</code></pre>
<p>注意:我知道从数组中获取块很容易进行基本的切片选择,但是在更高级的用例中,cfilter和rfilter中的索引不一定是相邻的。在</p>
<p>非常感谢!在</p>