So filtern sie ein numpy-array (4 beispiele)
Sie können die folgenden Methoden verwenden, um die Werte eines NumPy-Arrays zu filtern:
Methode 1: Filtern Sie Werte basierend auf einer einzelnen Bedingung
#filter for values less than 5 my_array[my_array < 5 ]
Methode 2: Werte mithilfe der „OR“-Bedingung filtern
#filter for values less than 5 or greater than 9 my_array[(my_array < 5 ) | (my_array > 9 )]
Methode 3: Werte mithilfe der „AND“-Bedingung filtern
#filter for values greater than 5 and less than 9 my_array[(my_array > 5 ) & (my_array < 9 )]
Methode 4: Filtern Sie die in der Liste enthaltenen Werte
#filter for values that are equal to 2, 3, 5, or 12 my_array[np. in1d (my_array, [2, 3, 5, 12])]
In diesem Tutorial wird erklärt, wie Sie jede Methode in der Praxis mit dem folgenden NumPy-Array verwenden:
import numpy as np
#create NumPy array
my_array = np. array ([1, 2, 2, 3, 5, 6, 7, 10, 12, 14])
#view NumPy array
my_array
array([ 1, 2, 2, 3, 5, 6, 7, 10, 12, 14])
Beispiel 1: Werte basierend auf einer Bedingung filtern
Der folgende Code zeigt, wie die NumPy-Array-Werte basierend auf einer einzelnen Bedingung gefiltert werden:
#filter for values less than 5 my_array[(my_array < 5 )] array([1, 2, 2, 3]) #filter for values greater than 5 my_array[(my_array > 5 )] array([6,7,10,12,14]) #filter for values equal to 5 my_array[(my_array == 5 )] array([5])
Beispiel 2: Filtern Sie Werte mithilfe der „OR“-Bedingung
Der folgende Code zeigt, wie die Werte des NumPy-Arrays mithilfe einer „OR“-Bedingung gefiltert werden:
#filter for values less than 5 or greater than 9 my_array[(my_array < 5 ) | (my_array > 9 )] array([ 1, 2, 2, 3, 10, 12, 14])
Dieser Filter gibt NumPy-Array-Werte kleiner als 5 oder größer als 9 zurück.
Beispiel 3: Filtern Sie Werte mithilfe der „AND“-Bedingung
Der folgende Code zeigt, wie die Werte des NumPy-Arrays mithilfe einer „AND“-Bedingung gefiltert werden:
#filter for values greater than 5 and less than 9 my_array[(my_array > 5 ) & (my_array < 9 )] array([6, 7])
Dieser Filter gibt Werte aus dem NumPy-Array zurück, die größer als 5 und kleiner als 9 sind.
Beispiel 4: Filtern Sie die in der Liste enthaltenen Werte
Der folgende Code zeigt, wie in einer Liste enthaltene NumPy-Array-Werte gefiltert werden:
#filter for values that are equal to 2, 3, 5, or 12 my_array[np. in1d (my_array, [2, 3, 5, 12])] array([ 2, 2, 3, 5, 12])
Dieser Filter gibt nur Werte gleich 2, 3, 5 oder 12 zurück.
Hinweis : Die vollständige Dokumentation für die Funktion NumPy in1d() finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie andere gängige Filtervorgänge in Python ausgeführt werden:
So filtern Sie Pandas DataFrame-Zeilen, die eine bestimmte Zeichenfolge enthalten
So filtern Sie einen Pandas DataFrame nach mehreren Bedingungen
So verwenden Sie den „NOT IN“-Filter in Pandas DataFrame