NumPy Mathematik-Spiele

PythonBeginner
Jetzt üben

Einführung

In dieser Challenge werden Sie den praktischen Umgang mit dem NumPy-Modul in Python vertiefen. Sie implementieren verschiedene gängige Funktionen zur Manipulation von NumPy-Arrays, die grundlegende mathematische Operationen und Array-Verarbeitungen abdecken. Die benötigten Dateien wurden bereits im Dateimanager auf der linken Seite für Sie erstellt.

Dies ist eine Challenge (Herausforderung). Sie unterscheidet sich von einem geführten Lab dadurch, dass Sie die Aufgaben eigenständig lösen müssen, anstatt einer Schritt-für-Schritt-Anleitung zu folgen. Challenges sind in der Regel anspruchsvoller. Wenn Sie nicht weiterkommen, können Sie sich mit Labby austauschen oder die Lösung einsehen. Historische Daten zeigen, dass dies eine Challenge auf Fortgeschrittenen-Niveau mit einer Erfolgsquote von 50% ist. Sie hat eine positive Bewertung von 97% von den Lernenden erhalten.

Elementweise Multiplikation

Ihre erste Aufgabe besteht darin, eine Funktion zu erstellen, die zwei NumPy-Arrays elementweise multipliziert. Das bedeutet, dass jedes Element im ersten Array mit dem entsprechenden Element im zweiten Array multipliziert wird.

TODO

  • Vervollständigen Sie die Funktion multiply_arrays in der Datei multiply_arrays.py.

Anforderungen

  • Die Funktion muss den Namen multiply_arrays tragen.
  • Sie muss zwei NumPy-Arrays, a und b, als Eingabe akzeptieren.
  • Sie muss ein neues NumPy-Array zurückgeben, das das Ergebnis der elementweisen Multiplikation von a und b ist.
  • Die Eingabe-Arrays haben die gleiche Form (Shape).

Beispiel

Führen Sie das Skript nach der Implementierung der Funktion aus, um das Ergebnis zu sehen:

python3 multiply_arrays.py

Ausgabe:

Input a: [1 2 3]
Input b: [4 5 6]
Element-wise multiplication result: [4 10 18]
Expected: [4 10 18]
✨ Lösung prüfen und üben

Matrix-Multiplikation

Als Nächstes implementieren Sie die Matrix-Multiplikation. Im Gegensatz zur elementweisen Multiplikation folgt die Matrix-Multiplikation den spezifischen Regeln der linearen Algebra und erfordert, dass die inneren Dimensionen der beiden Matrizen kompatibel sind.

TODO

  • Vervollständigen Sie die Funktion matrix_multiply in der Datei matrix_multiply.py.

Anforderungen

  • Die Funktion muss den Namen matrix_multiply tragen.
  • Sie muss zwei NumPy-Arrays, a und b, als Eingabe akzeptieren.
  • Sie muss ein neues NumPy-Array zurückgeben, das das Ergebnis des Matrixprodukts von a und b ist.
  • Die Eingabe-Arrays haben für die Matrix-Multiplikation kompatible Formen.

Beispiel

Führen Sie das Skript nach der Implementierung der Funktion aus, um das Ergebnis zu sehen:

python3 matrix_multiply.py

Ausgabe:

Input matrix a:
[[1 2]
 [3 4]]
Input matrix b:
[[5 6]
 [7 8]]
Matrix multiplication result:
[[19 22]
 [43 50]]
Expected:
[[19 22]
 [43 50]]
✨ Lösung prüfen und üben

Transponieren eines Arrays

In diesem Schritt schreiben Sie eine Funktion zum Transponieren eines NumPy-Arrays. Beim Transponieren eines Arrays werden dessen Zeilen und Spalten vertauscht.

TODO

  • Vervollständigen Sie die Funktion transpose_array in der Datei transpose_array.py.

Anforderungen

  • Die Funktion muss den Namen transpose_array tragen.
  • Sie muss ein einzelnes NumPy-Array a als Eingabe akzeptieren.
  • Sie muss die transponierte Version des Eingabe-Arrays zurückgeben.

Beispiel

Führen Sie das Skript nach der Implementierung der Funktion aus, um das Ergebnis zu sehen:

python3 transpose_array.py

Ausgabe:

Original array:
[[1 2 3]
 [4 5 6]]
Transposed array:
[[1 4]
 [2 5]
 [3 6]]
Expected:
[[1 4]
 [2 5]
 [3 6]]
✨ Lösung prüfen und üben

Umformen eines Arrays (Reshaping)

Nun erstellen Sie eine Funktion, um die Form eines NumPy-Arrays zu ändern. Das Umformen (Reshaping) ändert die Dimensionen eines Arrays, ohne dessen Daten zu verändern. Die Gesamtzahl der Elemente muss dabei gleich bleiben.

TODO

  • Vervollständigen Sie die Funktion reshape_array in der Datei reshape_array.py.

Anforderungen

  • Die Funktion muss den Namen reshape_array tragen.
  • Sie muss ein NumPy-Array a und ein Tupel shape als Eingabe akzeptieren.
  • Sie muss ein neues Array mit den Daten von a, aber mit den durch shape spezifizierten neuen Dimensionen zurückgeben.

Beispiel

Führen Sie das Skript nach der Implementierung der Funktion aus, um das Ergebnis zu sehen:

python3 reshape_array.py

Ausgabe:

Original array: [1 2 3 4 5 6]
New shape: (2, 3)
Reshaped array:
[[1 2 3]
 [4 5 6]]
Expected:
[[1 2 3]
 [4 5 6]]
✨ Lösung prüfen und üben

Berechnung der euklidischen Distanz

Die euklidische Distanz ist eine gängige Methode, um die geradlinige Entfernung zwischen zwei Punkten zu messen. Ihre Aufgabe ist es, eine Funktion zu implementieren, die diese Distanz zwischen zwei 1D-NumPy-Arrays berechnet.

Die Formel für die euklidische Distanz zwischen zwei Vektoren a und b lautet:

d(a, b) = \sqrt{\sum\_{i=1}^{n}(a_i - b_i)^2}

TODO

  • Vervollständigen Sie die Funktion euclidean_distance in der Datei euclidean_distance.py.

Anforderungen

  • Die Funktion muss den Namen euclidean_distance tragen.
  • Sie muss zwei 1D-NumPy-Arrays, a und b, von gleicher Länge akzeptieren.
  • Sie muss eine einzelne Gleitkommazahl (Float) zurückgeben, die die euklidische Distanz zwischen ihnen darstellt.

Beispiel

Führen Sie das Skript nach der Implementierung der Funktion aus, um das Ergebnis zu sehen:

python3 euclidean_distance.py

Ausgabe:

Point a: [1 2 3]
Point b: [4 5 6]
Euclidean distance: 5.196152422706632
Expected: 5.196152422706632
✨ Lösung prüfen und üben

Zusammenfassung

In dieser Challenge haben Sie grundlegende NumPy-Operationen geübt. Sie haben Funktionen für die elementweise Multiplikation, Matrix-Multiplikation, das Transponieren von Arrays, das Umformen (Reshaping) und die Berechnung der euklidischen Distanz implementiert. Diese Fähigkeiten sind essenziell für die Datenanalyse, maschinelles Lernen und wissenschaftliches Rechnen mit Python.