numpy.compress#

numpy.compress(condition, a, axis=None, out=None)[source]#

返回沿给定轴的数组的选定切片。

在沿给定轴操作时,对于 condition 评估为 True 的每个索引,都会在 output 中返回沿该轴的切片。在处理一维数组时,compress 等效于 extract

参数:
condition布尔值的一维数组

选择要返回的条目的数组。如果 len(condition) 小于 a 沿给定轴的大小,则输出将被截断为 condition 数组的长度。

a类似数组

要从中提取一部分的数组。

axisint,可选

要沿其取切片的轴。如果为 None(默认值),则对扁平化数组进行操作。

outndarray,可选

输出数组。其类型将被保留,并且必须具有正确的形状才能容纳输出。

返回值:
compressed_arrayndarray

a 的副本,其中不包含 condition 为 False 的轴的切片。

参见

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])