NumPy-Array-Suchen
- Vorherige Seite NumPy-Array-Trennen
- Nächste Seite NumPy-Array-Sortieren
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)
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)
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)
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)
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)
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)
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.
- Vorherige Seite NumPy-Array-Trennen
- Nächste Seite NumPy-Array-Sortieren