我有一个看似简单的问题,如果不进行循环,我似乎无法解决这个问题。 (我正在处理非常大的数组)
为了简单起见,我们说我有一个排序数组和一个不同维度的未排序数组,例如: x = np.array([511,512,513])和 Y = np.array([512,512,513,511,511])。 我想要一个快速函数,将y替换为在排序的min到max array x中给出的索引位置。 答案应该是输出= np.array([1,1,2,0,0])
我希望能够通过一两步完成这项工作。任何帮助将不胜感激,谢谢
答案 0 :(得分:1)
searchsorted()
完全符合您的要求:
import numpy as np
x=np.array([511,512,513])
y=np.array([512,512,513,511,511])
np.searchsorted(x, y) # array([1, 1, 2, 0, 0])