numpy.squeeze#

numpy.squeeze(a, axis=None)[source]#

a 中移除长度为一的轴。

参数:
aarray_like

输入数据。

axisNone 或 int 或 int 元组,可选

版本 1.7.0 中的新功能。

选择形状中长度为一的条目子集。如果选择了一个形状条目大于一的轴,则会引发错误。

返回值:
squeezedndarray

输入数组,但已移除所有或一部分长度为 1 的维度。这始终是 a 本身或 a 的视图。请注意,如果所有轴都被压缩,则结果是 0d 数组而不是标量。

引发:
ValueError

如果 axis 不为 None,并且正在压缩的轴长度不为 1

另请参阅

expand_dims

逆运算,添加长度为一的条目

reshape

插入、移除和组合维度,以及调整现有维度的大小

示例

>>> import numpy as np
>>> x = np.array([[[0], [1], [2]]])
>>> x.shape
(1, 3, 1)
>>> np.squeeze(x).shape
(3,)
>>> np.squeeze(x, axis=0).shape
(3, 1)
>>> np.squeeze(x, axis=1).shape
Traceback (most recent call last):
...
ValueError: cannot select an axis to squeeze out which has size
not equal to one
>>> np.squeeze(x, axis=2).shape
(1, 3)
>>> x = np.array([[1234]])
>>> x.shape
(1, 1)
>>> np.squeeze(x)
array(1234)  # 0d array
>>> np.squeeze(x).shape
()
>>> np.squeeze(x)[()]
1234