python - Numpy 整数数组 : Find indices of multiple target ints

标签 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]

result 数组不需要排序。

速度是个问题,因为 valuessearchvals 都可以很大,

for searchval in searchvals:
    np.where(values == searchval)[0]

不会剪掉它。

有什么提示吗?

最佳答案

这够快吗?

>>> np.where(np.in1d(values, searchvals))
(array([ 0,  2,  3,  8, 10]),)

关于python - Numpy 整数数组 : Find indices of multiple target ints,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38266259/

相关文章:

python - 如何将数字列表转换为相应的 chr()

python - 如何在段落标签内与其他一些标签一起抓取文本,然后在段落文本内抓取文本?

python - 将具有多个值的键映射到python中的json

python - CNN OCR 机器可读区

python - 为什么 pandas 无法连接两列对象数据类型(其中一列从 int 转换为 object)?

python - 在 NumPy 中沿 3D 数组的每个轴应用 DFT 矩阵?

c++ - 如何在二维数组中写入这个模式?

c++ - 将数组类切换为模板时出现错误

arrays - 具有三个条件的索引/匹配

python - 从头开始Python中的K表示