Suchen Sie die Zeilenindizes mehrerer Werte in einem Numpy-Array
Problem:
Wir erhalten ein NumPy-Array X und eine Reihe von Werten searched_values. Das Ziel besteht darin, die Zeilenindizes in
X = np.array([[4, 2], [9, 3], [8, 5], [3, 3], [5, 6]]) searched_values = np.array([[4, 2], [3, 3], [5, 6]])
[0, 3, 4]
Ansatz #3: Speichereffiziente Konvertierung mit np.searchsorted
np.where((X == searched_values[:, None]).all(-1))[1]
Verstehen np.ravel_multi_index
dims = X.max(0) + 1 out = np.where(np.in1d(np.ravel_multi_index(X.T, dims), np.ravel_multi_index(searched_values.T, dims)))[0]
In unserem Beispiel stellt beispielsweise jede Zeile von X ein Indextupel dar Für ein 2D-Gitter mit Abmessungen wird abgeblendet. np.ravel_multi_index ordnet jedes dieser Tupel einem eindeutigen linearen Index zu.
Das obige ist der detaillierte Inhalt vonWie finde ich Zeilenindizes mit mehreren Werten in einem NumPy-Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!