Finden Sie die Zeilenindizes mehrerer Werte in einem Numpy-Array

Ich habe ein Array X:

X = np.array([[4,  2],
              [9,  3],
              [8,  5],
              [3,  3],
              [5,  6]])

Und ich möchte den Index der Zeile mit mehreren Werten in diesem Array finden:

searched_values = np.array([[4, 2],
                            [3, 3],
                            [5, 6]])

Für dieses Beispiel hätte ich gerne ein Ergebnis wie:

[0,3,4]

Ich habe einen Code, der dies tut, aber ich denke, dass es zu kompliziert ist:

X = np.array([[4,  2],
              [9,  3],
              [8,  5],
              [3,  3],
              [5,  6]])

searched_values = np.array([[4, 2],
                            [3, 3],
                            [5, 6]])

result = []

for s in searched_values:
    idx = np.argwhere([np.all((X-s)==0, axis=1)])[0][1]
    result.append(idx)

print(result)

Ich fanddiese Antwort für eine ähnliche Frage, aber es funktioniert nur für 1d Arrays.

ibt es eine Möglichkeit, auf einfachere Weise das zu tun, was ich wil

Antworten auf die Frage(10)

Ihre Antwort auf die Frage