numpy.squeeze

numpy.squeeze(a, axis=None)

Функция squeeze() удаляет оси с одним элементом (длинной 1), но не сами элементы массива.

Параметры:
a - массив Numpy
Массив в котором необходимо удалить ось длинной 1.
axis - целое число или кортеж целых чисел (необязательный)
Позволяет вручную определить положение единичной оси или задать множество таких положений в виде кортежа. Если длина указанной оси больше 1 то вызывается исключение ValueError.
Возвращает:
ndarray - массив NumPy
Массив у которого удалены все оси длинной один. Возвращаемый массив может оказаться представлением исходного массива.
Смотрите так же: expand_dims, reshape, resize

Примеры

>>> import numpy as np
>>> 
>>> a = np.arange(9).reshape(3, 1, 3)
>>> a
array([[[0, 1, 2]],

       [[3, 4, 5]],

       [[6, 7, 8]]])
>>> 
>>> np.squeeze(a)
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
>>> 
>>> np.squeeze(a, axis = 1)
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
>>> 
>>> np.squeeze(a, axis = 2)    #  Приведет к ошибке
>>> 
>>> 
>>> a = np.arange(9).reshape(3, 1, 3, 1)
>>> a
array([[[[0],
         [1],
         [2]]],


       [[[3],
         [4],
         [5]]],


       [[[6],
         [7],
         [8]]]])
>>> 
>>> np.squeeze(a)
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])