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.
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_arraysin der Dateimultiply_arrays.py.
Anforderungen
- Die Funktion muss den Namen
multiply_arraystragen. - Sie muss zwei NumPy-Arrays,
aundb, als Eingabe akzeptieren. - Sie muss ein neues NumPy-Array zurückgeben, das das Ergebnis der elementweisen Multiplikation von
aundbist. - 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]
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_multiplyin der Dateimatrix_multiply.py.
Anforderungen
- Die Funktion muss den Namen
matrix_multiplytragen. - Sie muss zwei NumPy-Arrays,
aundb, als Eingabe akzeptieren. - Sie muss ein neues NumPy-Array zurückgeben, das das Ergebnis des Matrixprodukts von
aundbist. - 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]]
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_arrayin der Dateitranspose_array.py.
Anforderungen
- Die Funktion muss den Namen
transpose_arraytragen. - Sie muss ein einzelnes NumPy-Array
aals 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]]
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_arrayin der Dateireshape_array.py.
Anforderungen
- Die Funktion muss den Namen
reshape_arraytragen. - Sie muss ein NumPy-Array
aund ein Tupelshapeals Eingabe akzeptieren. - Sie muss ein neues Array mit den Daten von
a, aber mit den durchshapespezifizierten 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]]
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_distancein der Dateieuclidean_distance.py.
Anforderungen
- Die Funktion muss den Namen
euclidean_distancetragen. - Sie muss zwei 1D-NumPy-Arrays,
aundb, 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
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.



