我有一个Numpy
的4维(8, 1, 1, 102)
数组。现在,例如,我只是想忽略中间的两个维度,并拥有形状为(8,102)
的数组,完成此操作的合适方法是什么?
答案 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的尺寸,或者您可以使用整形功能