在 Python 中使用 numpy 查找范围内元素


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

使用与运算符

在此方法中,我们采用一个 numpy 数组,然后对其应用 logical_and 函数。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]

更新时间:2020 年 8 月 26 日

2K+ 浏览量

开启您的 职业生涯

完成课程以获得认证

开始
广告