np.squeeze什么意思轴= -1?

问题描述 投票:0回答:2

numpy.squeeze函数采用axis参数,该参数应为整数。有时我会看到axis参数设置为axis=-1,但是文档没有说明在这种情况下负整数的作用。

设置了axis=-1时,numpy.squeeze的作用是什么?

python python-3.x numpy
2个回答
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时。如果长度较长,则返回错误。


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约定选择最后一个轴

如果最后一个轴的大小大于一个,则会引发错误。

© www.soinside.com 2019 - 2024. All rights reserved.