Просто для полноты: если значения в A не отрицательны и достаточно малы:
A
lookup = np.empty((np.max(A) + 1), dtype=int) lookup[A] = np.arange(len(A)) indices = lookup[B]