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

时间:2017-06-26 14:44:56

标签: numpy dimension

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

有一种简单的方法吗?

2 个答案:

答案 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]]])