Рассмотрим два массива numpy
a = np.array(['john', 'bill', 'greg', 'bill', 'bill', 'greg', 'bill'])
b = np.array(['john', 'bill', 'greg'])
Как я могу создать третий массив
c = np.array([0,1,2,1,1,2,1])
Такая же длина, как a
, представляющая индекс каждой записи a
в массиве b
?
Я вижу способ, перебирая элементы b
как b[i]
и проверяя np.where(a == b[i])
, но задавался вопросом, может ли numpy выполнить это быстрее или лучше/меньше строк кода.