numpy.compress#

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

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

当沿着给定的轴工作时,在 condition 评估为 True 的每个索引处,沿该轴的切片会在 output 中返回.当在 1-D 数组上工作时,`compress` 等价于 extract.

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

选择返回哪些条目的数组.如果 condition 的长度小于沿给定轴的 a 的大小,则输出被截断为 condition 数组的长度.

aarray_like

从中提取部分的数组.

axisint, 可选

沿其进行切片的轴.如果为 None(默认),则在展平的数组上工作.

outndarray, 可选

输出数组.它的类型保持不变,并且它必须具有正确的形状以容纳输出.

返回:
compressed_arrayndarray

a 的一个副本,其中沿着 condition 为假的轴的切片被移除.

参见

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