<p><code>minimas</code>是25个数组的列表(每个形状<code>(2,)</code>)。<code>np.array(minimas)</code>具有形状<code>(25,2)</code>。你知道吗</p>
<pre><code>np.array(minimas).reshape(5,5,2)
</code></pre>
<p>工作。你知道吗</p>
<p>您可以使用<code>dtype=object</code>将<code>minimas</code>打包到一个数组中:</p>
<pre><code>minarray = np.empty((5,5),dtype=object) # initialize an empty array of 'objects'
minarray[:] = [tuple(m) for m in minimas]
minarray.reshape(5,5)
array([[(1, 2), (1, 1), (2, 2), (2, 2), (3, 3)],
...
[(3, 2), (1, 2), (1, 1), (1, 2), (2, 3)]], dtype=object)
</code></pre>
<hr/>
<p>如果<code>minimas</code>中的数组大小不同,那么该数组将自动具有类型<code>object</code>。你知道吗</p>
<pre><code>minimas[-1] = np.array([1,2,3]) # tweak data so there is some length variation
minimas = [tuple(row) for row in minimas]
np.array(minimas)
</code></pre>
<p>产生</p>
<pre><code>array([(1, 2), (1, 1), (2, 2), (2, 2), (3, 3), (2, 1), (3, 2), (3, 3),
(1, 2), (2, 3), (1, 2), (2, 3), (2, 2), (1, 2), (3, 3), (2, 2),
(1, 3), (3, 1), (3, 2), (2, 1), (3, 2), (1, 2), (1, 1), (1, 2),
(1, 2, 3)], dtype=object) # shape=(25,)
</code></pre>
<p>可以是<code>reshape(5,5)</code>。你知道吗</p>
<p>如果<code>minimas</code>中的数组长度相同,则<code>np.array(minimas)</code>生成一个最终大小为2维的数组。这就是为什么我必须初始化所需类型的<code>minarray</code>数组,并在其中插入<code>minimas</code>。这是<code>numpy</code>中一个模糊的部分,我是从回答其他问题中学到的。你知道吗</p>