numpy.compress#

numpy.compress(условие, a, ось=None, выход=None)[источник]#

Возвращает выбранные срезы массива вдоль заданной оси.

При работе вдоль заданной оси возвращается срез вдоль этой оси в вывод для каждого индекса, где условие вычисляется как True. При работе с одномерным массивом, compress эквивалентно extract.

Параметры:
условие1-D массив булевых значений

Массив, выбирающий, какие записи возвращать. Если len(condition) меньше размера a вдоль заданной оси, затем вывод обрезается до длины массива условия.

aarray_like

Массив, из которого извлекается часть.

осьint, необязательный

Ось, вдоль которой берутся срезы. Если None (по умолчанию), работа с развернутым массивом.

выходndarray, необязательно

Выходной массив. Его тип сохраняется, и он должен иметь правильную форму для хранения вывода.

Возвращает:
compressed_arrayndarray

Копия a без срезов вдоль оси, для которой условие ложно.

Смотрите также

take, choose, diag, diagonal, select
ndarray.compress

Эквивалентный метод в ndarray

extract

Эквивалентный метод при работе с одномерными массивами

Определение типа вывода

Примеры

>>> import numpy as np
>>> a = np.array([[1, 2], [3, 4], [5, 6]])
>>> a
array([[1, 2],
       [3, 4],
       [5, 6]])
>>> np.compress([0, 1], a, axis=0)
array([[3, 4]])
>>> np.compress([False, True, True], a, axis=0)
array([[3, 4],
       [5, 6]])
>>> np.compress([False, True], a, axis=1)
array([[2],
       [4],
       [6]])

Работа с уплощённым массивом не возвращает срезы вдоль оси, а выбирает элементы.

>>> np.compress([False, True], a)
array([2])