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,selectndarray.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])