numpy.ma.squeeze#

ma.сжать(a, ось=None, *, fill_value=None, hardmask=False)[источник]#

Удалить оси длиной один из a.

Параметры:
aarray_like

Входные данные.

осьNone или int или кортеж ints, опционально

Выбирает подмножество записей длины один в форме. Если выбрана ось с записью формы больше одного, возникает ошибка.

Возвращает:
сжатыйMaskedArray

Входной массив, но со всеми или подмножеством измерений длины 1 удалёнными. Это всегда a сам или представление в a. Обратите внимание, что если все оси сжаты, результатом будет массив 0d, а не скаляр.

Вызывает:
ValueError

Если ось не является 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