numpy compress
在NumPy中,numpy.compress
函数用于返回沿指定轴满足指定条件的数据。它接受两个参数:一个条件数组和一个要压缩的数组。这个函数可以非常方便地对数组进行筛选和压缩,只保留符合条件的值。
语法
numpy.compress(condition, arr, axis=None, out=None)
参数说明:
condition
:表示筛选条件的布尔数组。arr
:要进行筛选的输入数组。axis
:指定操作的轴,默认为None
,表示将数组展平后进行操作。out
:如果提供此参数,则结果将保存在这个数组中。
示例
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
condition = np.array([[True, False, True], [False, True, False], [True, False, True]])
result = np.compress(condition, arr)
print(result)
输出为:
[1 3 5 7 9]
在上面的示例中,我们通过compress
函数使用条件数组condition
对数组arr
进行了筛选。只保留了满足条件的元素,其结果为[1 3 5 7 9]
。
指定轴进行压缩
除了对数组进行展平外,我们还可以指定沿指定轴进行压缩操作。下面是一个示例:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
condition = np.array([False, True, False])
result = np.compress(condition, arr, axis=1)
print(result)
输出为:
[[2]
[5]
[8]]
在这个示例中,我们指定了axis=1
,表示沿着第二个轴进行压缩操作。因此,结果是一个二维数组,每行仅保留满足条件的元素。
结论
numpy.compress
函数是一个非常有用的函数,可以根据条件对数组进行筛选和压缩操作。通过合理地利用这个函数,我们可以轻松地处理数组数据,提高数据处理的效率。