Grundlagen des NumPy-Broadcastings

NumPyNumPyBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Tutorial wird das Konzept der Broadcasting in der NumPy-Bibliothek vorgestellt. Broadcasting ist eine Methode, um mathematische Operationen auf Arrays unterschiedlicher Dimensionen durchzuführen.

Tipps für die VM

Nachdem der VM-Start abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Operationen kann aufgrund von Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback ab, und wir werden das Problem für Sie prompt beheben.

Zwei eindimensionale Arrays gleicher Form addieren

import numpy as np

a = np.array([1,2,3,4])
b = np.array([2,7,8,9])
c = a+b;
print(c)

Die Ausgabe lautet: [ 3 9 11 13]

Versuch, zwei eindimensionale Arrays mit unterschiedlicher Form zu addieren

import numpy as np

a = np.array([4,5,6,7])
b = np.array([1,3,5,7,9,11,14])
c = a+b;

Dies wird einen Fehler erzeugen, da Sie keine Operationen auf Arrays mit unterschiedlicher Form durchführen können.

Das Verwenden von Broadcasting, um zwei eindimensionale Arrays mit unterschiedlicher Form zu addieren

import numpy as np

a = np.array([4,5,6,7])
b = np.array([10])
c = a+b;

print(c)

Dies wird [14 15 16 17] ausgeben, da das Array b über das Array a verbreitet wird.

Das Verbreiten eines eindimensionalen Arrays in ein zweidimensionales Array

import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6]])
b = np.array([10, 20, 30])

print(a + b)

Die Ausgabe wird wie folgt sein:

[[11 22 33]
 [14 25 36]]

Das eindimensionale Array wird über die zweite Achse des zweidimensionalen Arrays verbreitet und zu jeder Spalte hinzugefügt.

Das Multiplizieren von Arrays unterschiedlicher Dimensionen

import numpy as np

a = np.array([1, 2, 3])
b = np.array([[4, 5, 6], [7, 8, 9]])

print(a * b)

Die Ausgabe wird wie folgt sein:

[[ 4 10 18]
 [ 7 16 27]]

Das eindimensionale Array wird über die erste Achse des zweidimensionalen Arrays verbreitet und mit jeder Zeile multipliziert.

Zusammenfassung

In diesem Tutorial haben wir das Konzept des Broadcastings in der NumPy-Bibliothek behandelt. Broadcasting ist eine Methode, um mathematische Operationen auf Arrays unterschiedlicher Dimensionen durchzuführen. Wir haben auch gezeigt, wie das Broadcasting funktioniert, indem wir Arrays addiert und multipliziert haben. Es ist wichtig zu beachten, dass das Broadcasting nur durchgeführt werden kann, wenn die Arrays bestimmte Bedingungen erfüllen. Das Broadcasting tritt nur auf, wenn es nicht zu einem Informationsverlust führt.