Python NumPy实现数组搜索示例详解
搜索数组
可以在数组中搜索(检索)某个值,然后返回获得匹配的索引。
要搜索数组,请使用 where() 方法。
实例
查找值为 4 的索引:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 4, 4]) x = np.where(arr == 4) print(x)
运行实例
上例会返回一个元组:(array([3, 5, 6],)
意思就是值 4 出现在索引 3、5 和 6。
实例
查找值为偶数的索引:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8]) x = np.where(arr%2 == 0) print(x)
运行实例
实例
查找值为奇数的索引:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8]) x = np.where(arr%2 == 1) print(x)
运行实例
搜索排序
有一个名为 searchsorted()
的方法,
该方法在数组中执行二进制搜索,并返回将在其中插入指定值以维持搜索顺序的索引。
假定 searchsorted() 方法用于排序数组。
实例
查找应在其中插入值 7 的索引:
import numpy as np arr = np.array([6, 7, 8, 9]) x = np.searchsorted(arr, 7) print(x)
运行实例
例子解释: 应该在索引 1 上插入数字 7,以保持排序顺序。
该方法从左侧开始搜索,并返回第一个索引,其中数字 7 不再大于下一个值。
从右侧搜索
默认情况下,返回最左边的索引,但是我们可以给定 side=‘right’,以返回最右边的索引。
实例
从右边开始查找应该插入值 7 的索引:
import numpy as np arr = np.array([6, 7, 8, 9]) x = np.searchsorted(arr, 7, side='right') print(x)
运行实例
例子解释:应该在索引 2 上插入数字 7,以保持排序顺序。
该方法从右边开始搜索,并返回第一个索引,其中数字 7 不再小于下一个值。
多个值
要搜索多个值,请使用拥有指定值的数组。
实例
查找应在其中插入值 2、4 和 6 的索引:
import numpy as np arr = np.array([1, 3, 5, 7]) x = np.searchsorted(arr, [2, 4, 6]) print(x)
运行实例
返回值是一个数组:[1 2 3] 包含三个索引,其中将在原始数组中插入 2、4、6 以维持顺序。
到此这篇关于Python NumPy实现数组搜索示例详解的文章就介绍到这了,更多相关Python NumPy数组搜索内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
利用rest framework搭建Django API过程解析
这篇文章主要介绍了利用rest framework搭建Django API过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2019-08-08Python中的装饰器链(decorator chain)详解
在Python中,装饰器是一种高级功能,它允许你在不修改函数或类代码的情况下,为它们添加额外的功能,装饰器通常用于日志记录、性能测量、权限检查等场景,当多个装饰器应用于同一个函数或类时,形成装饰器链,这篇文章主要介绍了Python中的装饰器链详解,需要的朋友可以参考下2024-06-06解决python3运行selenium下HTMLTestRunner报错的问题
今天小编就为大家分享一篇解决python3运行selenium下HTMLTestRunner报错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-12-12
最新评论