Datenwissenschaft

So verwenden Sie die Python-NumPy-where()-Funktion mit mehreren Bedingungen

So verwenden Sie die Python-NumPy-where()-Funktion mit mehreren Bedingungen
Die NumPy-Bibliothek hat viele Funktionen, um das Array in Python zu erstellen. Die Funktion where() ist eine davon, um ein Array aus einem anderen NumPy-Array basierend auf einer oder mehreren Bedingungen zu erstellen. Einige Operationen können zum Zeitpunkt der Array-Erstellung basierend auf der Bedingung mit dieser Funktion ausgeführt werden. Es kann auch ohne bedingten Ausdruck verwendet werden. Wie diese Funktion mit mehreren Bedingungen in Python verwendet werden kann, wird in diesem Tutorial gezeigt.

Syntax:

numpy.wo(Bedingung,[x,y])

wobei die ()-Funktion zwei Argumente annehmen kann. Das erste Argument ist obligatorisch und das zweite Argument ist optional. Wenn der Wert des ersten Arguments (Bedingung) wahr ist, dann enthält die Ausgabe die Array-Elemente aus dem Array, x ansonsten aus dem Array, ja. Diese Funktion gibt die Indexwerte des Eingabearrays zurück, wenn kein optionales Argument verwendet wird.

Verwendung der Funktion where():

Es können verschiedene Arten von Booleschen Operatoren verwendet werden, um die Bedingung dieser Funktion zu definieren. In diesem Teil des Tutorials werden die Verwendungen von where a()-Funktionen mit mehreren Bedingungen gezeigt.

Beispiel -1: Verwendung mehrerer Bedingungen mit logischem ODER

Das folgende Beispiel zeigt die Verwendung der Funktion where() mit und ohne das optionale Argument. Hier hat das logische ODER verwendet, um die Bedingung zu definieren. Die erste where()-Funktion wurde in einem eindimensionalen Array angewendet, das das Array der Indizes des Eingabearrays zurückgibt, in dem die Bedingung zurückgegeben wird Wahr. Die zweite Funktion where(), die in zwei eindimensionalen Arrays angewendet wurde, ruft die Werte aus dem ersten Array ab, wenn die Bedingung True zurückgibt. Andernfalls werden die Werte aus dem zweiten Array abgerufen.

# NumPy-Bibliothek importieren
numpy als np importieren
# Erstellen Sie ein Array mit der Liste
np_array1 = np.Array([23, 11, 45, 43, 60, 18, 33, 71, 52, 38])
print("Die Werte des Eingabearrays :\n", np_array1)
# Erstellen Sie ein weiteres Array basierend auf den mehreren Bedingungen und einem Array
new_array1 = np.wo((np_array1 50))
# Drucken Sie das neue Array
print("Die gefilterten Werte des Arrays :\n", new_array1)
# Erstellen Sie ein Array mit Bereichswerten
np_array2 = np.arange(40, 50)
# Erstellen Sie ein weiteres Array basierend auf den mehreren Bedingungen und zwei Arrays
new_array2 = np.where((np_array1 60), np_array1, np_array2)
# Drucken Sie das neue Array
print("Die gefilterten Werte des Arrays :\n", new_array2)

Ausgabe:

Die folgende Ausgabe wird erscheinen, nachdem das obige Skript ausgeführt wurde. Hier ist der Zustand wieder da Wahr für die Werte 23,11,18,33 und 38 des ersten Arrays. Der Zustand ist zurück Falsch für die Werte 45, 43, 60, 71 und 52. Also wurden 42, 43, 44 und 48 aus dem zweiten Array für die Werte 45, 43, 60 und 52 hinzugefügt. Hier ist 71 außer Reichweite.

Beispiel -2: Verwendung mehrerer Bedingungen mit logischem UND

Das folgende Beispiel zeigt, wie die Funktion () mit den mehreren Bedingungen verwendet werden kann, die durch logisch definiert und in zwei eindimensionalen Arrays angewendet werden. Hier wurden zwei eindimensionale NumPy-Arrays mit der Funktion rand() erstellt. Diese Arrays wurden in der Funktion where() mit den mehreren Bedingungen verwendet, um das neue Array basierend auf den Bedingungen zu erstellen. Der Zustand wird zurückkehren Wahr wenn der Wert des ersten Arrays kleiner als 40 ist und der Wert des zweiten Arrays größer als 60 . ist. Das neue Array wurde später gedruckt.

# NumPy-Bibliothek importieren
numpy als np importieren
# Erstellen Sie zwei Arrays mit Zufallswerten
np_array1 = np.zufällig.Rand(10)*100
np_array2 = np.zufällig.Rand(10)*100
# Geben Sie die Array-Werte aus
print("\nDie Werte des ersten Arrays :\n", np_array1)
print("\nDie Werte des zweiten Arrays :\n", np_array2)
# Erstellen Sie ein neues Array basierend auf den Bedingungen
neues_array = np.where((np_array1 60), np_array1, np_array2)
# Drucken Sie das neue Array
print("\nDie gefilterten Werte beider Arrays :\n", new_array)

Ausgabe:

Die folgende Ausgabe wird erscheinen, nachdem das obige Skript ausgeführt wurde. Der Zustand ist zurück Falsch für alle Elemente. Das zurückgegebene Array enthält also nur die Werte des zweiten Arrays.

Beispiel-3: Verwendung mehrerer Bedingungen im mehrdimensionalen Array

Das folgende Beispiel zeigt, wie die Funktion () mit den mehreren Bedingungen verwendet werden kann, die durch logisch definiert sind UND die in zwei mehrdimensionalen Arrays angewendet wird. Hier wurden zwei mehrdimensionale Arrays mithilfe von Listen erstellt. Als nächstes wurden diese Funktionen in der Funktion where() angewendet, um das neue Array basierend auf der Bedingung zu erstellen create. Die in der Funktion verwendete Bedingung wird zurückgegeben Wahr wobei der Wert des ersten Arrays gerade und der Wert des zweiten Arrays ungerade ist; andernfalls wird die Bedingung zurückkehren Falsch.

# NumPy-Bibliothek importieren
numpy als np importieren
# Erstellen Sie zwei mehrdimensionale Arrays mit ganzzahligen Werten
np_array1 = np.Array([[5, 12, 21, 6, 11], [6, 10, 15, 31, 8]])
np_array2 = np.Array([[43, 19, 7, 34, 9], [99, 22, 41, 5, 12]])
# Geben Sie die Array-Werte aus
print("\nDie Werte des ersten Arrays :\n", np_array1)
print("\nDie Werte des zweiten Arrays :\n", np_array2)
# Erstellen Sie ein neues Array aus zwei Arrays basierend auf den Bedingungen
neues_array = np.where(((np_array1 % 2 == 0) & (np_array2 % 2 == 1)), np_array1, np_array2)
# Drucken Sie das neue Array
print("\nDie gefilterten Werte beider Arrays :\n", new_array)

Ausgabe:

Die folgende Ausgabe wird erscheinen, nachdem das obige Skript ausgeführt wurde. In der Ausgabe wurden 43, 12, 7, 34, 9, 22, 41, 5 und 12 im neuen Array aus dem zweiten Array hinzugefügt, da die Bedingung . ist Falsch für diese Werte. Die ersten 12 Werte im neuen Array wurden aus dem ersten Array hinzugefügt, da die Bedingung ist Wahr nur für diesen Wert.

Fazit:

wobei die ()-Funktion der NumPy-Bibliothek nützlich ist, um die Werte aus zwei Arrays zu filtern. Das Erstellen eines neuen Arrays durch Filtern der Daten aus zwei Arrays basierend auf mehreren Bedingungen, die durch logisches ODER und logisches UND definiert sind, wurde in diesem Tutorial erläutert. Ich hoffe, dass die Leser diese Funktion in ihrem Skript richtig verwenden können, nachdem sie die Beispiele dieses Tutorials geübt haben.

Weisen Sie Ihre Maustasten mit der X-Mouse Button Control für verschiedene Software unterschiedlich zu
Vielleicht benötigen Sie ein Tool, mit dem sich die Steuerung Ihrer Maus bei jeder von Ihnen verwendeten Anwendung ändern kann. In diesem Fall können ...
Microsoft Sculpt Touch Wireless-Maus Bewertung
Ich habe vor kurzem gelesen, dass Microsoft Sculpt Touch kabellose Maus und beschloss, sie zu kaufen. Nachdem ich es eine Weile benutzt hatte, beschlo...
AppyMouse On-Screen Trackpad und Mauszeiger für Windows Tablets
Tablet-Benutzer vermissen oft den Mauszeiger, insbesondere wenn sie die Laptops gewohnt sind. Die Touchscreen-Smartphones und -Tablets bieten viele Vo...