我有 2维数组:A = numpy.array([[1, 2, 3], [4, 5, 6]])
并希望将其转换为 3维数组:B = numpy.array([[[1, 2, 3], [4, 5, 6]]])
有一种简单的方法吗?
答案 0 :(得分:2)
只需在开头添加一个新轴np.newaxis
-
import numpy as np
B = A[np.newaxis,:,:]
我们可以跳过列出尾随轴 -
B = A[np.newaxis]
另外,引入别名None
以替换np.newaxis
以获得更紧凑的解决方案 -
B = A[None]
答案 1 :(得分:0)
也可以使用构造函数创建一个新的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]]])