手册
目录
您可以在数组中搜索特定值,并返回匹配的索引。
要搜索数组,请使用 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)
示例解释:数字 7 应插入索引 1 以保持排序顺序。
该方法从左侧开始搜索,并返回数字 7 不再大于下一个值的第一个索引。
默认情况下返回最左边的索引,但我们可以给 side='right' 来返回最右边的索引。
从右侧开始查找应插入值 7 的索引:
import numpy as np arr = np.array([6, 7, 8, 9]) x = np.searchsorted(arr, 7, side='right') print(x)
示例解释:数字 7 应插入索引 2 以保持排序顺序。
该方法从右侧开始搜索,并返回数字 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 将插入到原始数组中以保持顺序。
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77万人学习
共29课时
61.7万人学习
共25课时
39.3万人学习
共43课时
70.9万人学习
共25课时
61.6万人学习
共22课时
23万人学习
共28课时
33.9万人学习
共89课时
125万人学习