NumPy-Array-Suchen

Array durchsuchen

Sie können nach einem bestimmten Wert in einem Array suchen (abfragen) und die erhaltenen Übereinstimmungen zurückgeben.

Um ein Array zu durchsuchen, verwenden Sie where() Methode.

Beispiel

Suchen Sie die Indizes der Werte 4:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 4, 4])
x = np.where(arr == 4)
print(x)

Laufbeispiel

In diesem Beispiel wird ein Tupel zurückgegeben:(array([3, 5, 6],

Das bedeutet, dass der Wert 4 an den Indizes 3, 5 und 6 vorkommt.

Beispiel

Suchen Sie die Indizes der Werte, die gerade sind:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
x = np.where(arr%2 == 0)
print(x)

Laufbeispiel

Beispiel

Suchen Sie die Indizes der Werte, die ungerade sind:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
x = np.where(arr%2 == 1)
print(x)

Laufbeispiel

suchsortieren

Es gibt einen Namen searchsorted() Methode, die im Array eine binäre Suche durchführt und die Indizes zurückgibt, an denen der angegebene Wert eingefügt werden muss, um die Suchreihenfolge beizubehalten.

angenommen searchsorted() Diese Methode wird für die Sortierung von Arrays verwendet.

Beispiel

Suchen Sie den Index, in den der Wert 7 eingefügt werden soll:

import numpy as np
arr = np.array([6, 7, 8, 9])
x = np.searchsorted(arr, 7)
print(x)

Laufbeispiel

Beispiel erläutert:Die Zahl 7 sollte am Index 1 eingefügt werden, um die Sortierreihenfolge beizubehalten.

Diese Methode beginnt von links und gibt den ersten Index zurück, in dem die Zahl 7 nicht mehr größer als der nächste Wert ist.

Von rechts suchen

Standardmäßig wird der linkeste Index zurückgegeben, aber wir können side='right', um den rechtensten Index zurückzugeben.

Beispiel

Suchen Sie den Index, in den der Wert 7 eingefügt werden soll, beginnend von rechts:

import numpy as np
arr = np.array([6, 7, 8, 9])
x = np.searchsorted(arr, 7, side='right')
print(x)

Laufbeispiel

Beispiel erläutert:Die Zahl 7 sollte am Index 2 eingefügt werden, um die Sortierreihenfolge beizubehalten.

Diese Methode beginnt von rechts und gibt den ersten Index zurück, in dem die Zahl 7 nicht mehr kleiner als der nächste Wert ist.

Mehrere Werte

Um mehrere Werte zu suchen, verwenden Sie ein Array mit den angegebenen Werten.

Beispiel

Suchen Sie die Indizes, in die die Werte 2, 4 und 6 eingefügt werden sollen:

import numpy as np
arr = np.array([1, 3, 5, 7])
x = np.searchsorted(arr, [2, 4, 6])
print(x)

Laufbeispiel

Der Rückgabewert ist ein Array:[1 2 3] Enthält drei Indizes, von denen 2, 4 und 6 in den ursprünglichen Array eingefügt werden, um die Reihenfolge beizubehalten.