0Pricing
Pandas & NumPy Academy · Lektion

Elementweise Arithmetik

Addieren, subtrahieren, multiplizieren und dividieren Sie Arrays elementweise und verstehen Sie, wie NumPy explizite Python-Schleifen vermeidet.

Elementweise Arithmetik ist eine kostenlose Pandas & NumPy Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Pandas & NumPy Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Pandas & NumPy Academy-Kurs umfasst insgesamt 4 Lektionen.

Das Problem mit Python-Schleifen

Das Addieren von Listen in reinem Python erfordert eine langsame Schleife. NumPy erledigt dies stattdessen in schnellem C – oft 10- bis 100-mal schneller. Dieser Ansatz heißt Vektorisierung. ⚡

# Python list approach -- slow
a = [1, 2, 3, 4]
b = [10, 20, 30, 40]
result = [x + y for x, y in zip(a, b)]
print(result)  # [11, 22, 33, 44]

# NumPy approach -- fast
import numpy as np
na, nb = np.array(a), np.array(b)
print(na + nb)  # [11 22 33 44]

Addition und Subtraktion

Die Operatoren + und - arbeiten bei Arrays gleicher Form elementweise und ordnen in einem schnellen Durchlauf die jeweils gleichen Positionen einander zu.

import numpy as np

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

print(a + b)   # [11 22 33]
print(a - b)   # [ 9 18 27]

Multiplikation und Division

Verwenden Sie * und / für die elementweise Multiplikation und Division – beachten Sie, dass * keine Matrixmultiplikation ist. Eine Division liefert immer Gleitkommazahlen, auch bei Ganzzahlen.

import numpy as np

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

print(a * b)    # [ 20  80 150]
print(a / b)    # [5.  5.  6.]
print(a // b)   # [5 5 6]
print(a % b)    # [0 0 0]

Skalararithmetik (Vorschau auf Broadcasting)

Addieren Sie eine einzelne Zahl zu einem Array, wendet NumPy sie auf jedes Element an. Das ist Broadcasting in seiner einfachsten Form – ideal zum Verschieben oder Skalieren von Daten.

import numpy as np

a = np.array([1, 2, 3, 4, 5])

print(a + 10)   # [11 12 13 14 15]
print(a * 2)    # [ 2  4  6  8 10]
print(a ** 2)   # [ 1  4  9 16 25]
print(a / 10)   # [0.1 0.2 0.3 0.4 0.5]

Potenzieren und Quadratwurzel

Verwenden Sie **, um jedes Element zu potenzieren. Für Quadratwurzeln verwenden Sie die np.sqrt-ufunc – sie ist in C implementiert und schneller als eine Schleife in Python.

import numpy as np

a = np.array([1.0, 4.0, 9.0, 16.0])
print(a ** 0.5)       # [1. 2. 3. 4.]
print(np.sqrt(a))     # [1. 2. 3. 4.]
print(a ** 2)         # [  1.  16.  81. 256.]

Vergleichsoperatoren liefern boolesche Arrays

Vergleichen Sie ein Array mit >, == oder <, erhalten Sie ein boolesches Array aus True-/False-Werten – die Grundlage zum Filtern Ihrer Daten.

import numpy as np

a = np.array([3, 7, 2, 9, 1])
print(a > 4)    # [False  True False  True False]
print(a == 2)   # [False False  True False False]
print(a >= 3)   # [ True  True False  True False]

Logische Operatoren für boolesche Arrays

Zum Kombinieren boolescher Arrays verwenden Sie die Symbole &, | und ~ – nicht die Wörter and/or/not. Setzen Sie jede Bedingung in Klammern, um unerwartete Auswirkungen der Operatorrangfolge zu vermeiden.

import numpy as np

a = np.array([3, 7, 2, 9, 1])
mask = (a > 2) & (a < 8)
print(mask)   # [ True  True False False False]
print(a[mask])  # [3 7]

Operationen mit += direkt im Array

Operatoren wie += ändern ein Array direkt und sparen Speicher, da keine neue Kopie erstellt wird. Achten Sie jedoch auf kompatible dtypes – auf diese Weise können Sie nicht 0.5 zu einem int-Array addieren.

import numpy as np

a = np.array([1.0, 2.0, 3.0])
a += 10.0
print(a)   # [11. 12. 13.]
a *= 2.0
print(a)   # [22. 24. 26.]

Arithmetik mit 2-D-Arrays

Elementweise Mathematik funktioniert bei 2-D-Arrays genauso: Addieren Sie zwei Matrizen gleicher Form, wird jede Zelle mit ihrem Gegenstück addiert. Verschachtelte Schleifen sind nicht nötig.

import numpy as np

A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])

print(A + B)
# [[ 6  8]
#  [10 12]]

print(A * B)  # element-wise, NOT matrix multiply
# [[ 5 12]
#  [21 32]]

dtype-Hochstufung bei gemischten Operationen

Werden zwei dtypes kombiniert, stuft NumPy beide auf den sichereren Typ hoch, sodass keine Informationen verloren gehen – int plus float ergibt float. Beachten Sie, dass dadurch der Speicherbedarf unbemerkt steigen kann.

import numpy as np

a = np.array([1, 2, 3], dtype=np.int32)
b = np.array([0.5, 1.5, 2.5], dtype=np.float64)

c = a + b
print(c)        # [1.5 3.5 5.5]
print(c.dtype)  # float64

Absolutwert und Vorzeichen

Verwenden Sie np.abs für Absolutwerte und np.sign, um pro Element -1, 0 oder +1 zu erhalten. Beide sind schnelle ufuncs und werden häufig in Verlustfunktionen und Normalisierungsschritten verwendet.

import numpy as np

a = np.array([-3, 0, 4, -7, 2])
print(np.abs(a))    # [3 0 4 7 2]
print(np.sign(a))   # [-1  0  1 -1  1]

Schnelltest

Testen Sie Ihr Verständnis der elementweisen Arithmetik mit NumPy aus dieser Lektion.

Lektionszusammenfassung

Sie haben es verstanden! NumPy führt Mathematik elementweise und ohne Schleifen aus, Skalarwerte werden auf das gesamte Array übertragen, und Vergleiche liefern boolesche Arrays. Als Nächstes folgen Slicing und Indizierung.

Häufig gestellte Fragen

Ist die Lektion „Elementweise Arithmetik“ kostenlos?

Ja — der vollständige Text von „Elementweise Arithmetik“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Pandas & NumPy Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Pandas & NumPy Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Elementweise Arithmetik“?

Addieren, subtrahieren, multiplizieren und dividieren Sie Arrays elementweise und verstehen Sie, wie NumPy explizite Python-Schleifen vermeidet. Du übst Pandas & NumPy Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Pandas & NumPy Academy zu starten?

Keine Vorkenntnisse erforderlich. Pandas & NumPy Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Elementweise Arithmetik“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Pandas & NumPy Academy-Lektion Code schreiben und ausführen?

Ja. Jede Pandas & NumPy Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. NumPy-Arrays erstellen
  2. Array-Attribute und -Inspektion
  3. Elementweise Arithmetik
  4. Array-Slicing und -Indexierung
← Zurück zu Pandas & NumPy Academy