numpy.compress#

numpy.compress(condition, a, axis=None, out=None)[源代码]#

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

当沿着给定的轴操作时,对于 condition 计算结果为 True 的每个索引,都会在 output 中返回沿该轴的切片. 当处理 1-D 数组时, compress 等效于 extract .

参数:
condition布尔值的 1-D 数组

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

aarray_like

从中提取部分的数组.

axis整数,可选

沿其获取切片的轴. 如果为 None(默认),则对展平的数组进行操作.

outndarray, 可选

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

返回:
compressed_arrayndarray

a 的一个副本,不包含 condition 为 false 的轴上的切片.

参见

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

ndarray 中的等效方法

extract

处理 1-D 数组时的等效方法

输出类型确定

示例

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