Czy istnieje sposób na uzyskanie indeksów kilku elementów w tablicy NumPy jednocześnie?Uzyskiwanie indeksów kilku elementów w tablicy NumPy naraz
E.g.
import numpy as np
a = np.array([1, 2, 4])
b = np.array([1, 2, 3, 10, 4])
chciałbym znaleźć indeks każdego elementu a
w b
, a mianowicie: [0,1,4]
.
znajdę rozwiązanie używam trochę rozwlekły:
import numpy as np
a = np.array([1, 2, 4])
b = np.array([1, 2, 3, 10, 4])
c = np.zeros_like(a)
for i, aa in np.ndenumerate(a):
c[i] = np.where(b==aa)[0]
print('c: {0}'.format(c))
wyjściowa:
c: [0 1 4]
np. Gdzie (np.in1d (b, a)) zwraca (tablica ([0, 1, 4], dtype = int64),). Na podstawie ostatniego przykładu na http://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html. –