Numpy:将 2D 数组转换为 3D 数组

Numpy : convert 2D array to 3D array

我有一个 2 维数组 : A = numpy.array([[1, 2, 3], [4, 5, 6]]) 并想将其转换为 3 维数组 : B = numpy.array([[[1, 2, 3], [4, 5, 6]]])

有没有简单的方法可以做到这一点?

只需在 np.newaxis -

的开头添加一个新轴
import numpy as np

B = A[np.newaxis,:,:]

我们可以跳过列出尾随轴 -

B = A[np.newaxis]

此外,引入别名 None 来替换 np.newaxis 以获得更紧凑的解决方案 -

B = A[None]

也可以使用构造函数创建一个新的 NumPy 数组,以便它接受一个列表。此列表包含一个元素,即数组 A ,它将允许您创建相同的数组,其中单个维度是第一个。结果将是您想要的 3D 数组:

B = numpy.array([A])

示例输出

In [13]: import numpy as np

In [14]: A = np.array([[1, 2, 3], [4, 5, 6]])

In [15]: B = np.array([A])

In [16]: B
Out[16]:
array([[[1, 2, 3],
        [4, 5, 6]]])