给定两个具有aa和大小不同的数组bb,我需要将其中的元素替换为最接近的aa那些元素bb。
这就是我现在所拥有的。它有效[*],但我想知道是否有更好的方法。
import numpy as np
# Some random data
aa = np.random.uniform(0., 1., 100)
bb = np.array([.1, .2, .4, .55, .97])
# For each element in aa, find the index of the nearest element in bb
idx = np.searchsorted(bb, aa)
# For indexes to the right of the rightmost bb element, associate to the last
# bb element.
msk = idx > len(bb) - 1
idx[msk] = len(bb) - 1
# Replace values in aa
aa = np.array([bb[_] for _ in idx])
MYYA
相关分类