Das Verständnis von NumPy-Datentypen

PythonPythonBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab erhalten Sie einen Schritt-für-Schritt Leitfaden zum Verständnis der verschiedenen Datentypen in NumPy und dazu, wie Sie den Datentyp eines Arrays ändern können. NumPy unterstützt eine Vielzahl von numerischen Typen, darunter Boole'sche Werte, Ganzzahlen, Gleitkommazahlen und komplexe Zahlen. Ein Verständnis dieser Datentypen ist wichtig für die Durchführung verschiedener numerischer Berechnungen und Datenanalyseaufgaben mit NumPy.

Hinweis: Sie können im 04-data-types.ipynb Code schreiben. Einige Druckoperationen werden in den Schritten weggelassen, und Sie können die Ausgabe nach Bedarf drucken.

Das Verständnis von Datentypen

NumPy unterstützt eine Vielzahl von numerischen Typen, die eng mit denen in der C-Programmiersprache verbunden sind. Hier sind einige der am häufigsten verwendeten Datentypen in NumPy:

  • numpy.bool_: Boolescher Wert (True oder False), gespeichert als Byte
  • numpy.byte: Geteiltes Vorzeichen (plattformabhängig definiert)
  • numpy.ubyte: Vorzeichenlose Ganzzahl (plattformabhängig definiert)
  • numpy.short: Kurz (plattformabhängig definiert)
  • numpy.ushort: Vorzeichenlose Kurzzahl (plattformabhängig definiert)
  • numpy.intc: Ganzzahl (plattformabhängig definiert)
  • numpy.uintc: Vorzeichenlose Ganzzahl (plattformabhängig definiert)
  • numpy.int_: Lang (plattformabhängig definiert)
  • numpy.uint: Vorzeichenlose lange Ganzzahl (plattformabhängig definiert)
  • numpy.longlong: Lang lang (plattformabhängig definiert)
  • numpy.ulonglong: Vorzeichenlose lange lange Ganzzahl (plattformabhängig definiert)
  • numpy.half / numpy.float16: Halbgenauigkeit Gleitkommazahl
  • numpy.single: Einfachgenauigkeit Gleitkommazahl (plattformabhängig definiert)
  • numpy.double: Doppelte Genauigkeit Gleitkommazahl (plattformabhängig definiert)
  • numpy.longdouble: Erweiterte Genauigkeit Gleitkommazahl (plattformabhängig definiert)
  • numpy.csingle: Komplexe Zahl, dargestellt durch zwei Einfachgenauigkeits-Gleitkommazahlen
  • numpy.cdouble: Komplexe Zahl, dargestellt durch zwei Doppelte Genauigkeits-Gleitkommazahlen
  • numpy.clongdouble: Komplexe Zahl, dargestellt durch zwei Erweiterte Genauigkeits-Gleitkommazahlen

Diese Datentypen haben plattformabhängige Definitionen, aber NumPy bietet auch feste Größen-Aliasnamen für die Bequemlichkeit.

Arbeiten mit Datentypen

NumPy-Datentypen werden als dtype (Data-Type)-Objekte dargestellt. Nachdem Sie NumPy mit import numpy as np importiert haben, können Sie die Datentypen über np.bool_, np.float32 usw. zugreifen.

Sie können Datentypen als Funktionen verwenden, um Python-Zahlen in Array-Skalare zu konvertieren, Python-Zahlenfolgen in Arrays vom entsprechenden Typ oder als Argumente für das dtype-Schlüsselwort in vielen NumPy-Funktionen oder -Methoden. Hier sind einige Beispiele:

x = np.float32(1.0)
## x ist jetzt ein float32-Array-Skalar mit dem Wert 1.0

y = np.int_([1,2,4])
## y ist jetzt ein int-Array mit den Werten [1, 2, 4]

z = np.arange(3, dtype=np.uint8)
## z ist jetzt ein uint8-Array mit den Werten [0, 1, 2]

Sie können auch auf Arraytypen über Zeichencodes verweisen, obwohl es empfohlen wird, stattdessen dtype-Objekte zu verwenden. Beispielsweise:

np.array([1, 2, 3], dtype='f')
## gibt ein Array mit den Werten [1., 2., 3.] und dtype float32 zurück

Um den Typ eines Arrays umzuwandeln, können Sie die .astype()-Methode oder den Typ selbst als Funktion verwenden. Beispielsweise:

z.astype(float)
## gibt das Array z mit dtype float64 zurück

np.int8(z)
## gibt das Array z mit dtype int8 zurück

Abrufen des Datentyps eines Arrays

Um den Datentyp eines Arrays zu bestimmen, können Sie das dtype-Attribut verwenden. Beispielsweise:

z.dtype
## gibt den dtype des Arrays z zurück, was uint8 ist

Das dtype-Objekt enthält auch Informationen über den Typ, wie seine Bitbreite und Byte-Reihenfolge. Sie können das dtype-Objekt verwenden, um Eigenschaften des Typs abzufragen, wie beispielsweise, ob es eine Ganzzahl ist. Beispielsweise:

d = np.dtype(int)
## erstellt ein dtype-Objekt für int

np.issubdtype(d, np.integer)
## gibt True zurück, was darauf hinweist, dass d ein Untertyp von np.integer ist

np.issubdtype(d, np.floating)
## gibt False zurück, was darauf hinweist, dass d kein Untertyp von np.floating ist

Zusammenfassung

In diesem Lab haben Sie über die verschiedenen numerischen Datentypen in NumPy gelernt und erfahren, wie Sie mit ihnen umgehen können. Sie können dtype-Objekte verwenden, um Python-Zahlen in Array-Skalare zu konvertieren, Arrays von bestimmten Typen zu erstellen und den Datentyp eines Arrays zu ändern. Ein Verständnis von Datentypen ist wichtig für die Durchführung numerischer Berechnungen und Datenanalyseaufgaben mit NumPy.