Numpy-Filter

Numpy Filter



Das Abrufen von Elementen oder das Abrufen von Elementen aus bestimmten Daten wird als Filtern bezeichnet. NumPy ist das Paket, mit dem wir Arrays erstellen und jede Art von Daten in Form eines Arrays speichern können. Wenn es darum geht, Arrays zu filtern, während wir mit NumPy-Paketen arbeiten, die von Python bereitgestellt werden, können wir Daten aus Arrays filtern oder abrufen, indem wir integrierte Funktionen verwenden, die von NumPy bereitgestellt werden. Eine Boolesche Indexliste, eine Liste von Booleschen Werten, die Array-Positionen entsprechen, kann zum Filtern von Arrays verwendet werden. Wenn das Element im Index des Arrays wahr ist, wird es im Array gespeichert, es sei denn, das Element wird aus dem Array ausgeschlossen.

Nehmen wir an, wir haben die Daten von Schülern in Form von Arrays gespeichert und möchten die nicht bestandenen Schüler herausfiltern. Wir werden einfach das Array filtern und die nicht bestandenen Schüler ausschließen, und ein neues Array des bestandenen Schülers wird erhalten.

Schritte zum Filtern eines NumPy-Arrays

Schritt 1: Importieren des NumPy-Moduls.







Schritt 2: Erstellen eines Arrays.



Schritt 3: Filterbedingung hinzufügen.



Schritt 4: Erstellen Sie ein neues gefiltertes Array.





Syntax:

Es gibt mehrere Möglichkeiten, Arrays zu filtern. Es hängt vom Zustand des Filters ab, z. B. ob wir nur eine Bedingung oder mehr als eine Bedingung haben.

Methode 1: Für eine Bedingung folgen wir der folgenden Syntax

Reihe [ Reihe < Bedingung ]

In der oben erwähnten Syntax ist „Array“ der Name des Arrays, aus dem wir die Elemente filtern werden. Und die Bedingung ist der Zustand, nach dem die Elemente gefiltert werden, und der Operator „<“ ist das mathematische Zeichen, das kleiner als darstellt. Es ist effizient, es zu verwenden, wenn wir nur eine Bedingung oder Aussage haben.



Methode 2: Verwenden des „ODER“-Operators

Reihe [ ( Reihe < Bedingung1 ) | ( Reihe > Bedingung2 ) ]

In dieser Methode ist „Array“ der Name des Arrays, aus dem wir Werte filtern und an das die Bedingung übergeben wird. Operator „|“ ist es gewohnt, die „ODER“-Funktion darzustellen, was bedeutet, dass von beiden Bedingungen eine wahr sein sollte. Es ist nützlich, wenn es zwei Bedingungen gibt.

Methode 3: Verwenden des „UND“-Operators.

Reihe [ ( Reihe < Bedingung1 ) & ( Reihe > Bedingung2 ) ]

In der folgenden Syntax ist „Array“ der Name des zu filternden Arrays. Während die Bedingung der Zustand ist, wie in der obigen Syntax erläutert, während der verwendete Operator „&“ der UND-Operator ist, was bedeutet, dass beide Bedingungen wahr sein müssen.

Methode 4: Filtern nach aufgelisteten Werten

Reihe [ z.B. in1d ( Reihe , [ Liste von Werten ] ) ]

In dieser Methode haben wir unser definiertes Array „np.in1d“ übergeben, mit dem zwei Arrays verglichen werden, ob das zu filternde Element des Arrays in einem anderen Array vorhanden ist oder nicht. Und das Array wird an die Funktion np.in1d ​​übergeben, die aus dem angegebenen Array gefiltert werden soll.

Beispiel # 01:

Lassen Sie uns nun das oben diskutierte Verfahren in einem Beispiel implementieren. Zunächst werden wir unsere von Python bereitgestellten NumPy-Bibliotheken einbinden. Dann erstellen wir ein Array namens „my_array“, das die Werte „2“, „3“, „1“, „9“, „3“, „5“, „6“ und „1“ enthält. Als nächstes übergeben wir unseren Filtercode „my_array[(my_array < 5)]“ an die print-Anweisung, was bedeutet, dass wir die Werte filtern, die kleiner als „5“ sind. In der nächsten Zeile haben wir ein weiteres Array mit dem Namen „array“ erstellt, das für die Werte „1“, „2“, „6“, „3“, „8“, „1“ und „0“ verantwortlich ist. An die print-Anweisung haben wir die Bedingung übergeben, dass wir die Werte drucken, die größer als 5 sind.

Zuletzt haben wir ein weiteres Array erstellt, das wir „arr“ genannt haben. Es enthält die Werte „6“, „7“, „10“, „12“ und „14“. Für dieses Array drucken wir nun den Wert, der nicht im Array vorhanden ist, um zu sehen, was passiert, wenn die Bedingung nicht zutrifft. Dazu haben wir die Bedingung übergeben, die den Wert filtert, der gleich dem Wert „5“ ist.

importieren taub wie z.B.

mein_array = z.B. Reihe ( [ zwei , 3 , 1 , 9 , 3 , 5 , zwei , 6 , 1 ] )

drucken ( 'Werte kleiner als 5' , mein_array [ ( mein_array < 5 ) ] )

Reihe = z.B. Reihe ( [ 1 , zwei , 6 , 3 , 8 , 1 , 0 ] )

drucken ( 'Werte größer als 5' , Reihe [ ( Reihe > 5 ) ] )

Arr = z.B. Reihe ( [ 6 , 7 , 10 , 12 , 14 ] )

drucken ( 'Werte gleich 5' , Arr [ ( Arr == 5 ) ] )

Nach dem Ausführen des Codes haben wir als Ergebnis folgende Ausgabe, in der wir die 3 Ausgaben angezeigt haben, die erste ist für die Elemente kleiner als „5“, bei der zweiten Ausführung haben wir die Werte größer als „5“ gedruckt. Am Ende haben wir den Wert gedruckt, der nicht existiert, da wir sehen können, dass er keinen Fehler anzeigt, sondern das leere Array angezeigt wird, was bedeutet, dass der gewünschte Wert im angegebenen Array nicht vorhanden ist.

Beispiel # 02:

In diesem Fall werden wir einige der Methoden verwenden, bei denen wir mehr als eine Bedingung verwenden können, um die Arrays zu filtern. Dazu importieren wir einfach die NumPy-Bibliothek und erstellen dann ein eindimensionales Array der Größe „9“ mit den Werten „24“, „3“, „12“, „9“, „3“, „5“. „2“, „6“ und „7“. In der nächsten Zeile haben wir eine print-Anweisung verwendet, der wir ein Array übergeben haben, das wir mit dem Namen „my_array“ mit der Bedingung als Argument initialisiert haben. Dabei haben wir die oder-Bedingung bestanden, was bedeutet, dass von beiden eine Bedingung wahr sein muss. Wenn beide wahr sind, werden die Daten für beide Bedingungen angezeigt. In diesem Zustand möchten wir die Werte drucken, die kleiner als „5“ und größer als „9“ sind. In der nächsten Zeile haben wir den UND-Operator verwendet, um zu prüfen, was passiert, wenn wir das Array mit einer Bedingung filtern. In diesem Zustand haben wir Werte angezeigt, die größer als „5“ und kleiner als „9“ sind.

Importieren Sie numpy wie z.B.

mein_array = z.B. Reihe ( [ 24 , 3 , 12 , 9 , 3 , 5 , zwei , 6 , 7 ] )

drucken ( „Werte kleiner als 5 oder größer als 9 , mein_array [ ( mein_array < 5 ) | ( mein_array > 9 ) ] )

drucken ( „Werte größer als 5 und weniger als 9 , mein_array [ ( mein_array > 5 ) & ( mein_array < 9 ) ] )

Wie im folgenden Snippet gezeigt, wird unser Ergebnis für den obigen Code angezeigt, in dem wir das Array gefiltert und das folgende Ergebnis erhalten haben. Wie wir sehen können, werden die Werte größer als 9 und kleiner als 5 in der ersten Ausgabe angezeigt und die Werte zwischen 5 und 9 werden vernachlässigt. Während wir in der nächsten Zeile die Werte zwischen „5“ und „9“ gedruckt haben, die „6“ und „7“ sind. Die anderen Werte von Arrays werden nicht angezeigt.

Fazit

In diesem Handbuch haben wir kurz die Verwendung von Filtermethoden besprochen, die vom NumPy-Paket bereitgestellt werden. Wir haben mehrere Beispiele implementiert, um Ihnen zu erläutern, wie Sie die von numpy bereitgestellten Filtermethoden am besten implementieren können.