numpy.squeeze函数采用一个axis
参数,该参数应为整数。有时我会看到axis参数设置为axis=-1
,但是文档没有说明这种情况下负整数的作用。
设置axis=-1
时numpy.squeeze到底能做什么?
答案 0 :(得分:2)
玩转它,我可以观察到以下内容。 axis参数选择应受挤压影响的数组尺寸。 例如:
x = np.array([[[0], [1], [2]]])
x.shape
(1,3,1)
数组x
是三维的,第一个维度为1个条目,第二个维度为3个条目,第三个维度为1个条目。选择axis=-1
会导致最后一个尺寸受到挤压的影响:
np.squeeze(x, axis=-1).shape
(1,3)
因此,基本上,它会将选定的尺寸展平到上面的水平,但前提是选定尺寸的长度为1。如果长度较长,则会返回错误。
答案 1 :(得分:0)
根据文档,轴参数
选择形状中一维条目的子集。
基本上,您可以选择沿squeeze
沿哪个轴应用。
例如
a = numpy.ones((1,2,2,1))
a.shape
(1,2,2,1)
numpy.squeeze(a,axis=0).shape
(2,2,1)
numpy.squeeze(a,axis=-1).shape
(1,2,2)
因此axis=-1
通过numpy约定选择最后一个轴
如果最后一个轴的尺寸大于一个,则会引发错误。