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