在python中的numpy中查找范围内的元素

有时在使用numpy库处理数据时,我们可能需要过滤掉特定范围内的某些数字。这可以通过使用一些numpy中可用的内置方法来实现。

与和运算符

在这种方法中,我们采用一个numpy数组,然后对其应用逻辑_和函数。numpy中的where子句也用于应用and条件。结果是一个数组,显示满足所需范围条件的元素的位置。

import numpy as np

A = np.array([5, 9, 11, 4, 31, 27,8])

# printing initial array
print("Given Array : ", A)

# Range 6 to 15
res = np.where(np.logical_and(A >= 6, A <= 15))

# Result
print("Array with condition : ", res)

输出结果

运行上面的代码给我们以下结果-

Given Array : [ 5 9 11 4 31 27 8]
Array with condition : (array([1, 2, 6], dtype=int32),)

使用*

在这种方法中,我们使用*运算符。它给出结果作为实际值,而不是值在数组中的位置。

import numpy as np

A = np.array([5, 9, 11, 4, 31, 27,8])

# printing initial array
print("Given Array : ", A)

# Range 6 to 15
res = A [ (A >=6) * (A <= 15)]

# Result
print("Array with condition : ", res)

输出结果

运行上面的代码给我们以下结果-

Given Array : [ 5 9 11 4 31 27 8]
Array with condition : [ 9 11 8]