Nic*_*mer 6 python arrays numpy
我有一个大的numpy数组(dtype=int)和一组数字,我想在该数组中找到,例如,
import numpy as np
values = np.array([1, 2, 3, 1, 2, 4, 5, 6, 3, 2, 1])
searchvals = [3, 1]
# result = [0, 2, 3, 8, 10]
Run Code Online (Sandbox Code Playgroud)
该result阵列不必进行排序.
速度是一个问题,因为这两个values和searchvals可能很大,
for searchval in searchvals:
np.where(values == searchval)[0]
Run Code Online (Sandbox Code Playgroud)
不削减它.
任何提示?
这够快吗?
>>> np.where(np.in1d(values, searchvals))
(array([ 0, 2, 3, 8, 10]),)
Run Code Online (Sandbox Code Playgroud)