Python NumPy Array Tutorial: Arrays erstellen, manipulieren und visualisieren
Updated on
Wenn Sie mit großen Datensätzen arbeiten oder komplexe mathematische Operationen durchführen müssen, ist NumPy ein unverzichtbares Werkzeug in Ihrem Data-Science-Toolkit. NumPy ermöglicht es Ihnen, multidimensionale Arrays effizient zu erstellen und zu manipulieren, was es zu einer Kernbibliothek für wissenschaftliches Rechnen und maschinelles Lernen macht.
In diesem Tutorial zeigen wir Ihnen, wie Sie mit NumPy in Python beginnen können. Wir werden Installation, Broadcasting, Indexierung, Slicing und Visualisierung abdecken und Tipps zur Optimierung der Leistung und Fehlerbehebung geben. Legen wir los!
Möchten Sie Datenvisualisierungen in Python schnell erstellen?
PyGWalker ist ein Open-Source-Python-Projekt, das Ihnen helfen kann, den Datenanalyse- und Visualisierungsworkflow direkt in einer Jupyter-Notebook-Umgebung zu beschleunigen.
PyGWalker (opens in a new tab) verwandelt Ihr Pandas-Dataframe (oder Polars-Dataframe) in eine visuelle Benutzeroberfläche, in der Sie Variablen per Drag & Drop ziehen und ablegen können, um Diagramme einfach zu erstellen. Verwenden Sie einfach den folgenden Code:
pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)
Sie können PyGWalker jetzt mit diesen Online-Notebooks ausführen:
Und vergessen Sie nicht, uns auf GitHub mit einem ⭐️ zu versehen!
Was ist NumPy und warum ist es in der Datenwissenschaft wichtig?
NumPy ist eine Bibliothek für die numerische Berechnung in Python. Es stellt leistungsstarke mehrdimensionale Array-Objekte und Werkzeuge für die Arbeit mit diesen Arrays zur Verfügung. NumPy-Arrays ermöglichen mathematische Operationen, die auf ganzen Arrays gleichzeitig ausgeführt werden, was sie wesentlich schneller macht als herkömmliche Python-Listen.
NumPy ist in der Datenwissenschaft unerlässlich, da es die effiziente Manipulation großer Datensätze und numerische Operationen ermöglicht. NumPy-Arrays werden häufig in Machine-Learning-Algorithmen, Bildverarbeitung und wissenschaftlichen Simulationen verwendet.
Wie installiere ich NumPy auf meinem Computer?
Bevor wir mit NumPy beginnen, stellen Sie sicher, dass es auf Ihrem Computer installiert ist. Sie können NumPy mit pip, dem Paketinstaller für Python, installieren.
pip install numpy
Sobald NumPy installiert ist, können Sie es in Ihre Python-Umgebung importieren:
import numpy as np
NumPy-Array-Operationen
Beginnen wir mit der Erstellung eines NumPy-Arrays. Wir erstellen ein zweidimensionales Array oder eine Matrix, das/die mit Zufallszahlen mit der Funktion numpy.random.rand()
gefüllt ist/sind.
import numpy as np
# Erstellen Sie ein 3x3-Array, das mit Zufallszahlen zwischen 0 und 1 gefüllt ist
arr = np.random.rand(3, 3)
print(arr)
Dies gibt eine Ausgabe wie folgt aus:
array([[0.5488135 , 0.71518937, 0.60276338],
[0.54488318, 0.4236548 , 0.64589411],
[0.43758721, 0.891773 , 0.96366276]])
Nun, da wir ein NumPy-Array haben, führen wir einige Operationen damit durch. NumPy unterstützt viele mathematische Operationen wie Addition, Subtraktion, Multiplikation und Division.
# Fügen Sie jeden Element in dem Array 10 hinzu
arr = arr + 10
# Multiplizieren Sie jedes Element in dem Array mit 2
arr = arr * 2
# Teilen Sie jedes Element in dem Array durch 3
arr = arr / 3
print(arr)
Dies gibt Folgendes aus:
array([[6.22202665, 6.61503667, 6.47785626],
[6.6808859 , 6.49408332, 6.75637531],
[6.1817823 , 7.63341086, 7.92046462]])
Indexierung von NumPy-Arrays
Die Indexierung von NumPy-Arrays ist ähnlich wie die Indexierung von Python-Listen. Sie können auf Elemente eines Arrays mit eckigen Klammern und Angabe der Indizes zugreifen.
import numpy as np
# Erstellen Sie ein zweidimensionales Array von Zahlen von 0 bis 15
arr = np.arange(16).reshape((4,4))
# Geben Sie das gesamte Array aus
print(arr)
# Geben Sie das Element in Zeile 2, Spalte 3 aus
print(arr[2, 3])
# Geben Sie die erste Zeile des Arrays aus
print(arr[0, :])
# Geben Sie die letzte Spalte des Arrays aus
print(arr[:, 3])
# Geben Sie das Teilarray von Zeile 1 bis 3 und Spalte 1 bis 3 aus
print(arr[1:4, 1:4])
Dies gibt Folgendes aus:
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11],
[12, 13, 14, 15]])
11
[0 1 2 3]
[ 3 7 11 15]
[[ 5 6 7]
[ 9 10 11]
[13 14 15]]
NumPy vs. pandas
NumPy und pandas sind beide unverzichtbare Bibliotheken in der Datenwissenschaft, aber sie dienen unterschiedlichen Zwecken. NumPy wird für die numerische Berechnung und Manipulation von Arrays verwendet, während pandas für die Datenmanipulation und -analyse verwendet wird. NumPy ist effizienter für numerische Operationen auf großen Arrays, während pandas sich bestens zur Arbeit mit tabellarischen Daten eignet. NumPy wird in der Regel zur Vorverarbeitung von Daten verwendet, bevor sie in Machine-Learning-Algorithmen eingespeist werden, während pandas zur Arbeit mit Datensätzen in einem datengetriebenen Arbeitsablauf verwendet wird.
NumPy-Datentypen
NumPy-Arrays können verschiedene Datentypen haben, einschließlich Ganzzahlen, Fließkommazahlen und Booleans. Sie können den Datentyp eines Arrays angeben, wenn Sie es mit dem dtype
-Parameter erstellen.
import numpy as np
arr_int = np.array([1, 2, 3]) # Ganzzahl-Array
arr_float = np.array([1.0, 2.0, 3.0]) # Fließkommazahl-Array
arr_bool = np.array([True, False, True]) # Boolesches Array
# Gib die Datentypen der Arrays aus
print(arr_int.dtype)
print(arr_float.dtype)
print(arr_bool.dtype)
Dies gibt Folgendes aus:
int64
float64
bool
NumPy-Broadcasting
Broadcasting ist eine leistungsstarke Funktion in NumPy, die mathematische Operationen auf Arrays mit unterschiedlichen Formen ermöglicht. Bei der Ausführung von Operationen auf zwei Arrays vergleicht NumPy ihre Formen elementweise und sendet das kleinere Array so, dass es zum größeren Array passt.
import numpy as np
# Erstelle ein 3x3-Array gefüllt mit 1en
arr = np.ones((3, 3))
# Addiere 2 zu jedem Element im Array
arr = arr + 2
# Multipliziere jedes gerade Element im Array mit 3
arr[arr % 2 == 0] *= 3
print(arr)
Dies gibt Folgendes aus:
array([[ 9., 3., 9.],
[ 3., 9., 3.],
[ 9., 3., 9.]])
Wie man NumPy-Arrays in Machine Learning verwendet
NumPy-Arrays spielen eine wichtige Rolle in Machine-Learning-Algorithmen. Modelle des maschinellen Lernens nehmen Daten in Form von Arrays entgegen, und NumPy bietet verschiedene Werkzeuge zur Vorverarbeitung und Manipulation dieser Daten an.
Wenn beispielsweise mit Bilddaten gearbeitet wird, können NumPy-Arrays die Pixel eines Bildes als mehrdimensionales Array darstellen. Dieses Array kann dann einem Modell des maschinellen Lernens zur Schulung und Vorhersage zugeführt werden.
NumPy bietet auch Funktionen zum Aufteilen von Daten in Trainings- und Test-Teilmengen, Skalieren von Daten und Kodieren kategorischer Variablen.
Effiziente Techniken zur Manipulation von NumPy-Arrays
NumPy bietet verschiedene Funktionen und Techniken zur effizienten Manipulation von Arrays. Hier sind ein paar Beispiele:
-
Ändern der Form von Arrays: Verwenden Sie die Funktion
reshape
, um die Form eines Arrays so zu ändern, dass sie den Anforderungen einer bestimmten Operation oder eines bestimmten Algorithmus entsprechen. -
Verketten von Arrays: Verwenden Sie die Funktionen
hstack
,vstack
unddstack
, um Arrays horizontal, vertikal und tiefenweise zu verketten. -
Transponieren von Arrays: Verwenden Sie die Funktion
transpose
, um die Zeilen und Spalten eines zweidimensionalen Arrays zu vertauschen. -
Sortieren von Arrays: Verwenden Sie die Funktion
sort
, um die Elemente eines Arrays in aufsteigender oder absteigender Reihenfolge zu sortieren.
Tipps zur Fehlerbehebung bei NumPy-Arrays
Die Arbeit mit NumPy-Arrays kann herausfordernd sein, insbesondere bei der Arbeit mit großen Datensätzen. Hier sind ein paar Tipps zur Fehlerbehebung bei häufigen NumPy-Array-Fehlern:
-
Überprüfen Sie die Form Ihrer Arrays: Stellen Sie sicher, dass die Arrays, mit denen Sie arbeiten, die richtige Form für die auszuführende Operation haben.
-
Wandeln Sie Ihre Arrays in den richtigen Datentyp um: Stellen Sie sicher, dass Ihre Arrays den richtigen Datentyp für die mathematische Operation haben, die Sie durchführen möchten.
-
Verwenden Sie Broadcasting mit Bedacht: Obwohl Broadcasting leistungsstark sein kann, kann es auch zu unerwarteten Ergebnissen führen. Überprüfen Sie die ausgedehnten Dimensionen Ihrer Arrays, bevor Sie eine Operation durchführen.
-
Überprüfen Sie auf NaN- oder Unendlichkeitswerte: NaN (keine Zahl) und Unendlichkeitswerte können Fehler in mathematischen Operationen verursachen. Überprüfen Sie Ihre Arrays auf diese Werte, bevor Sie eine Operation durchführen.
Fazit
NumPy ist eine essentielle Bibliothek in Python für die Arbeit mit großen Datensätzen und numerischen Operationen. In diesem Tutorial haben wir Installation, Broadcasting, Indizierung, Slicing und Visualisierung behandelt, mit Tipps zur Optimierung der Leistung und Fehlerbehebung.
Denken Sie daran, diese Tipps im Hinterkopf zu behalten, wenn Sie mit NumPy-Arrays arbeiten, und überprüfen Sie immer die Dokumentation, wenn Sie unsicher sind. Viel Spaß beim Programmieren!