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]]])
我有一个 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]]])