Einführung
In diesem Lab werden einige der erweiterteren Funktionen von NumPy behandelt, darunter lineare Algebra, Zufallszahlengeneratoren und maskierte Arrays.
💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken
In diesem Lab werden einige der erweiterteren Funktionen von NumPy behandelt, darunter lineare Algebra, Zufallszahlengeneratoren und maskierte Arrays.
NumPy verfügt über eine umfassende Funktionsmenge für lineare Algebra-Operationen. Hier sind einige Beispiele:
Öffnen Sie die Python-Shell, indem Sie den folgenden Befehl in der Konsole eingeben.
python3
Das Skalarprodukt zweier Arrays kann mit der Funktion np.dot()
berechnet werden. Das Skalarprodukt zweier Arrays A und B ist definiert als die Summe des Produkts der entsprechenden Elemente von A und B.
import numpy as np
## Erstellen Sie zwei Arrays
a = np.array([1, 2])
b = np.array([3, 4])
## Berechnen Sie das Skalarprodukt
dot_product = np.dot(a, b)
print(dot_product) ## Ausgabe: 11
Die Matrizenmultiplikation kann mit dem @
-Operator oder der Funktion np.matmul()
durchgeführt werden.
Lesen Sie die folgenden Beispiele sorgfältig durch.
## Erstellen Sie zwei Matrizen
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
## Matrizenmultiplikation
C = A @ B
print(C) ## Ausgabe: [[19 22], [43 50]]
Sie können auch die Ergebnisse auf andere Weise erhalten.
## Erstellen Sie zwei Matrizen
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
## Matrizenmultiplikation
C = np.matmul(A,B)
print(C) ## Ausgabe: [[19 22], [43 50]]
Die Determinante und die Inverse einer Matrix können mit den Funktionen np.linalg.det()
und np.linalg.inv()
berechnet werden.
## Erstellen Sie eine Matrix
A = np.array([[1, 2], [3, 4]])
## Berechnen Sie die Determinante und die Inverse
det_A = np.linalg.det(A)
inv_A = np.linalg.inv(A)
print(det_A) ## Ausgabe: -2.0
print(inv_A) ## Ausgabe: [[-2. 1. ], [ 1.5 -0.5]]
Jetzt ist es Ihre Zeit, zwei Arrays zu erstellen und die Funktion np.dot()
verwenden, um das Skalarprodukt zu berechnen. Verwenden Sie @
oder np.matmul()
zur Berechnung der Matrizenmultiplikation und np.linalg.det()
und np.linalg.inv()
-Funktionen, um die Matrixdeterminante und die Inversmatrix zu berechnen.
NumPy bietet mehrere Funktionen zum Generieren von Zufallszahlen. Hier sind einige Beispiele:
Die Funktion np.random.rand()
kann verwendet werden, um Zufallszahlen zwischen 0 und 1 zu generieren.
## Generieren Sie eine 2x2 Matrix von Zufallszahlen
a = np.random.rand(2, 2)
print(a) ## Ausgabe: [[0.43584547 0.37752558], [0.08936734 0.65526767]]
Die Funktion np.random.randint()
kann verwendet werden, um Zufallszahlen zwischen zwei angegebenen Zahlen zu generieren.
## Generieren Sie ein Array von Zufallszahlen zwischen 1 und 10
a = np.random.randint(1, 10, size=(3, 3))
print(a) ## Ausgabe: [[8 7 3], [3 3 7], [8 8 7]]
Die Funktion np.random.normal()
kann verwendet werden, um Zahlen aus einer Normalverteilung zu generieren.
## Generieren Sie ein Array von Zahlen aus einer Normalverteilung
a = np.random.normal(0, 1, size=(2, 2))
print(a) ## Ausgabe: [[ 1.28418331 -0.90564647], [-0.76477896 1.69903421]]
Nun folgen Sie den obigen Funktionen, um die Ausgabe von Zufallszahlen, Zufallszahlen und Normalverteilung zu vervollständigen. Bitte beenden Sie diese Übung.
Maskierte Arrays sind Arrays, denen eine Maske angehängt ist. Die Maske ist ein Array von booleschen Werten, die angeben, welche Elemente des Arrays maskiert (versteckt) werden sollen. NumPy bietet das Modul np.ma
zum Arbeiten mit maskierten Arrays.
Ein maskiertes Array kann mit der Funktion np.ma.masked_array()
erstellt werden.
## Erstellen Sie ein Array mit einigen maskierten Werten
a = np.ma.masked_array([1, 2, 3, 4], mask=[True, False, False, True])
print(a) ## Ausgabe: [-- 2 3 --]
Eine Maske kann mit der Funktion np.ma.masked_where()
auf ein Array angewendet werden.
## Erstellen Sie ein Array
a = np.array([1, 2, 3, 4])
## Erstellen Sie eine Maske
mask = a > 2
## Wenden Sie die Maske an
b = np.ma.masked_where(mask, a)
print(b) ## Ausgabe: [1 2 -- --]
Maskierte Arrays können verwendet werden, um ungültige Werte wie NaNs (not a number) oder Unendlichkeiten zu behandeln.
## Erstellen Sie ein Array mit einigen ungültigen Werten
a = np.array([1, np.nan, np.inf, 4])
## Erstellen Sie ein maskiertes Array
b = np.ma.masked_invalid(a)
print(b) ## Ausgabe: [1.0 -- -- 4.0]
Nun verwenden Sie das von NumPy bereitgestellte Modul np.ma
, um die Erstellung eines maskierten Arrays abzuschließen. Verwenden Sie gleichzeitig die Funktion np.ma.masked_where()
, um die Maske auf das Array anzuwenden, und schließlich die Funktion np.ma.masked_invalid()
, um ungültige Werte zu behandeln. Bitte beenden Sie diese Übung.
Herzlichen Glückwunsch zum Abschluss dieses Experiments!
In diesem Tutorial haben wir einige der erweiterteren Themen in NumPy behandelt, darunter lineare Algebra, Zufallszahlengeneratoren und maskierte Arrays. Diese Funktionen sind für viele Anwendungen nützlich, einschließlich der Datenanalyse und der wissenschaftlichen Computierung.
Bleiben Sie bitte weiterhin fleißig!