Een numpy-array filteren (4 voorbeelden)
U kunt de volgende methoden gebruiken om de waarden van een NumPy-array te filteren:
Methode 1: Filter waarden op basis van één voorwaarde
#filter for values less than 5 my_array[my_array < 5 ]
Methode 2: Waarden filteren met behulp van de “OR”-voorwaarde
#filter for values less than 5 or greater than 9 my_array[(my_array < 5 ) | (my_array > 9 )]
Methode 3: Waarden filteren met behulp van de “AND”-voorwaarde
#filter for values greater than 5 and less than 9 my_array[(my_array > 5 ) & (my_array < 9 )]
Methode 4: Filter de waarden in de lijst
#filter for values that are equal to 2, 3, 5, or 12 my_array[np. in1d (my_array, [2, 3, 5, 12])]
In deze tutorial wordt uitgelegd hoe u elke methode in de praktijk kunt gebruiken met de volgende NumPy-array:
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])
Voorbeeld 1: Waarden filteren op basis van een voorwaarde
De volgende code laat zien hoe u de NumPy-arraywaarden filtert op basis van één voorwaarde:
#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])
Voorbeeld 2: Filter waarden met behulp van de ‘OR’-voorwaarde
De volgende code laat zien hoe u de waarden van de NumPy-array filtert met behulp van een „OR“ -voorwaarde:
#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])
Dit filter retourneert NumPy-arraywaarden kleiner dan 5 of groter dan 9.
Voorbeeld 3: Filter waarden met behulp van de ‘AND’-voorwaarde
De volgende code laat zien hoe u de waarden van de NumPy-array filtert met behulp van een „AND“-voorwaarde:
#filter for values greater than 5 and less than 9 my_array[(my_array > 5 ) & (my_array < 9 )] array([6, 7])
Dit filter retourneert waarden uit de NumPy-array groter dan 5 en kleiner dan 9.
Voorbeeld 4: filter de waarden in de lijst
De volgende code laat zien hoe u NumPy-arraywaarden in een lijst kunt filteren:
#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])
Dit filter retourneert alleen waarden die gelijk zijn aan 2, 3, 5 of 12.
Opmerking : u kunt hier de volledige documentatie voor de NumPy in1d() -functie vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende filterbewerkingen in Python kunt uitvoeren:
Hoe Pandas DataFrame-rijen te filteren die een specifieke tekenreeks bevatten
Hoe u een Pandas DataFrame op meerdere voorwaarden kunt filteren
Hoe u het “NIET IN”-filter in Pandas DataFrame gebruikt