擅长:python、mysql、java
<p><code>indices</code>为两个维度中的每个维度创建“索引”:</p>
<pre><code>ind=np.indices((m,n))
print(ind.shape)
print(ind)
</code></pre>
<p>结果是一个(2,m,n)数组<code>ind[9,:,:]</code>是第一维(m,n)数组的索引</p>
<p>实际上,这应该是<code>reshape</code>,但它从原始<code>ind</code>生成(2,m*n)形状数组</p>
<pre><code>ind.resize((2,m*n))
print(ind.shape)
print(ind)
</code></pre>
<p>在讨论这些索引数组时,行/列没有太多意义</p>
<p>看一个较小的案例(来自另一个最近的SO,<a href="https://stackoverflow.com/questions/69324752/how-to-get-all-indices-of-numpy-array-but-not-in-a-format-provided-by-np-indice">How to get all indices of NumPy array, but not in a format provided by np.indices()</a>)</p>
<pre><code>In [71]: list(np.ndindex(3,2))
Out[71]: [(0, 0), (0, 1), (1, 0), (1, 1), (2, 0), (2, 1)]
In [72]: np.indices((3,2))
Out[72]:
array([[[0, 0],
[1, 1],
[2, 2]],
[[0, 1],
[0, 1],
[0, 1]]])
</code></pre>
<p><code>meshgrid</code>执行相同的操作,但作为2个数组的列表:</p>
<pre><code>In [75]: np.meshgrid(np.arange(3),np.arange(2),indexing='ij')
Out[75]:
[array([[0, 0],
[1, 1],
[2, 2]]),
array([[0, 1],
[0, 1],
[0, 1]])]
</code></pre>