numpy.compress#
- numpy.compress(condition, a, axis=None, out=None)[源代码]#
沿给定轴返回数组的选定切片。
当沿着给定轴工作时,对于 `condition` 计算为 True 的每个索引,都会在 `output` 中返回沿该轴的一个切片。当处理一维数组时,`numpy.compress` 等同于 `numpy.extract`。
- 参数:
- condition一维布尔数组
用于选择要返回的条目的数组。如果 `condition` 的长度小于沿给定轴的 `a` 的大小,则输出将被截断到条件数组的长度。
- a类数组对象
从中提取一部分的数组。
- axisint, optional
沿哪个轴进行切片。如果为 None(默认),则在展平的数组上进行操作。
- outndarray,可选
输出数组。其类型将被保留,并且必须具有正确的形状才能容纳输出。
- 返回:
- compressed_arrayndarray
一个 `a` 的副本,其中不包含沿 `condition` 为 false 的轴的切片。
示例
>>> 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])