如何将4维Numpy数组重塑为不同的尺寸?

时间:2019-06-26 21:37:38

标签: python numpy

我有一个Numpy的4维(8, 1, 1, 102)数组。现在,例如,我只是想忽略中间的两个维度,并拥有形状为(8,102)的数组,完成此操作的合适方法是什么?

2 个答案:

答案 0 :(得分:2)

您不能简单地“忽略”前两个维度。您有一个大小为8 * 1 * 1 * 102 == 816的数组,但想要一个大小为1 * 102的数组,因此必须选择要删除的值。

例如,如果您想要前102个,则可以

array[0, 0]

形状为(1, 102)

编辑

如果您想要标注(8, 102),那么,正如删除答案的其他用户所说,您想要np.squeeze

x = np.random.random((8, 1, 1, 102))
y = np.squeeze(x)
print(y.shape)  # (8, 102)

答案 1 :(得分:1)

np.squeeze将折叠所有长度为1的尺寸,或者您可以使用整形功能