<p>假设您将数组放在某种容器中(您可以始终将它们放在容器中):</p>
<pre><code>>>> ax = [np.random.randint(0, 10, (3,3)) for _ in range(4)]
>>> ax
[array([[0, 3, 1],
[4, 2, 4],
[2, 2, 8]]), array([[8, 4, 6],
[7, 1, 4],
[8, 9, 8]]), array([[6, 3, 8],
[4, 6, 8],
[2, 2, 9]]), array([[1, 8, 1],
[0, 9, 2],
[9, 2, 3]])]
</code></pre>
<p>因此,您可以使用<code>np.concatenate</code>,但您也必须重塑:</p>
<pre><code>>>> final = np.concatenate([arr.reshape(1, 3,3,1) for arr in ax], axis=0)
</code></pre>
<p>结果是:</p>
<pre><code>>>> final.shape
(4, 3, 3, 1)
>>> final
array([[[[0],
[3],
[1]],
[[4],
[2],
[4]],
[[2],
[2],
[8]]],
[[[8],
[4],
[6]],
[[7],
[1],
[4]],
[[8],
[9],
[8]]],
[[[6],
[3],
[8]],
[[4],
[6],
[8]],
[[2],
[2],
[9]]],
[[[1],
[8],
[1]],
[[0],
[9],
[2]],
[[9],
[2],
[3]]]])
>>>
</code></pre>
<h2>编辑</h2>
<p>灵感来源于@Divakar,更加通用:</p>
<pre><code>np.concatenate([arr[None,..., None] for arr in ax], axis=0)
</code></pre>