NumPy Datentypen Exploration

NumPyNumPyBeginner
Jetzt üben

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

Einführung

In diesem Lab behandeln wir die Datentypen in der NumPy-Bibliothek von Python. Wir werden die Syntax des dtype-Objekts und seine Parameter durchgehen.

Tipps für die VM

Nachdem der VM-Start abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund von Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback ab, und wir werden das Problem für Sie prompt beheben.

Das Verständnis des NumPy-dtype-Objekts

In NumPy sind alle Elemente eines Arrays Datentypobjekte, die auch als NumPy-Datentypen bekannt sind. Das Datentypobjekt wird verwendet, um die festgelegte Größe des Speichers zu implementieren, der einem Array entspricht.

Es liefert uns hauptsächlich Informationen über Folgendes:

  • Der Datentyp (z.B. integer, float oder Python-object)
  • Die Größe des Daten
  • Die Byte-Reihenfolge (little-endian oder big-endian)
  • Im Falle eines strukturierten Typs informiert es uns über die Namen der Felder, den Datentyp jedes Felds und den Teil des Speicherblocks, den jedes Feld einnimmt.
  • Im Falle, dass der Datentyp ein Unterarray ist, informiert es uns über seine Form und seinen Datentyp

Erstellen eines NumPy-dtype-Objekts

Das erforderliche Syntax, um das dtype-Objekt zu erstellen, ist unten angegeben:

numpy.dtype(object, align, copy)

Folgende Beschreibung der Argumente des obigen Konstruktors:

  • object: Dieses Argument wird verwendet, um das Objekt zu repräsentieren, das in den Datentyp umgewandelt werden soll.
  • align: Es ist ein optionales Argument. Es wird verwendet, um Ausrichtungszuschläge zu den Feldern hinzuzufügen, um der Ausgabe eines C-Compilers für eine ähnliche C-Struktur zu entsprechen. Dieses Argument kann auf einen beliebigen booleschen Wert gesetzt werden.
  • copy: Dieses Argument wird verwendet, um eine Kopie des dtype-Objekts zu erstellen, und es ist ebenfalls ein optionales Argument.

Numerische Datentypen in NumPy

Die NumPy-Bibliothek bietet im Vergleich zu Python hauptsächlich einen höheren Bereich von numerischen Datentypen. Die Liste der numerischen Datentypen ist in der folgenden Tabelle aufgeführt:

Nr. Datentyp Beschreibung
1 bool_ Dies wird verwendet, um den booleschen Wert anzugeben, der wahr oder falsch ist. Es wird als Byte gespeichert.
2 int_ Dies ist der Standardtyp für einen Integer. Er ist identisch zum langen Typ in C, der hauptsächlich 64-Bit- oder 32-Bit-Integer enthält.
3 intc Dies ist ähnlich zum C-Integer (C int), da es 32- oder 64-Bit-Int repräsentiert.
4 intp Dies wird verwendet, um die Integer zu repräsentieren, die zur Indizierung verwendet werden.
5 int8 Dies ist der 8-Bit-Integer, der einem Byte entspricht. Der Wertebereich liegt zwischen -128 und 127.
6 int16 Dies ist der 2-Byte- (16-Bit-) Integer und der Wertebereich liegt zwischen -32768 und 32767.
7 int32 Dies ist der 4-Byte- (32-Bit-) Integer. Der Wertebereich liegt zwischen -2147483648 und 2147483647.
8 int64 Dies ist der 8-Byte- (64-Bit-) Integer und der Wertebereich liegt zwischen -9223372036854775808 und 9223372036854775807.
9 uint8 Dies ist ein 1-Byte- (8-Bit-) unsigned Integer.
10 uint16 Dies ist ein 2-Byte- (16-Bit-) unsigned Integer.
11 uint32 Dies ist ein 4-Byte- (32-Bit-) unsigned Integer.
12 uint64 Dies ist ein 8-Byte- (64-Bit-) unsigned Integer.
13 float_ Dies ist identisch zu float64.
14 float16 Dies wird verwendet, um die halbgenaue Gleitkommazahl zu repräsentieren. 5 Bits werden für den Exponenten reserviert. 10 Bits werden für die Mantisse reserviert und 1 Bit für das Vorzeichen.
15 float32 Dies wird verwendet, um die einfache Genauigkeit der Gleitkommazahl zu repräsentieren. 8 Bits werden für den Exponenten reserviert, 23 Bits für die Mantisse und 1 Bit für das Vorzeichen.
16 float64 Dies wird verwendet, um die doppelten Genauigkeit der Gleitkommazahl zu repräsentieren. 11 Bits werden für den Exponenten reserviert, 52 Bits für die Mantisse und 1 Bit für das Vorzeichen.
17 complex_ Dies ist identisch zu complex128.
18 complex64 Dies wird verwendet, um die komplexe Zahl zu repräsentieren, wobei der reelle und der imaginäre Teil jeweils 32 Bits aufweisen.
19 complex128 Dies wird verwendet, um die komplexe Zahl zu repräsentieren, wobei der reelle und der imaginäre Teil jeweils 64 Bits aufweisen.

Zeichen, die in NumPy zum Darstellen von dtype verwendet werden

Hier ist die Liste der Zeichen, die in NumPy zum Darstellen von dtype verwendet werden:

  • i: Ganzzahl
  • b: Boolesch
  • u: Unzeichenbehaftete Ganzzahl
  • f: Gleitkommazahl
  • c: Komplexe Gleitkommazahl
  • m: Zeitdifferenz
  • M: Datum und Uhrzeit
  • O: Objekt
  • S: Zeichenkette
  • U: Unicode-Zeichenkette
  • V: Fixierter Speicherblock für andere Typen (void)

Beispiele

Beispiel 1: Bestimmen des Datentyps eines Arrays

Wir versuchen, den Datentyp des Arrays, das Strings enthält, herauszufinden:

import numpy as np

ar1 = np.array(['chair', 'book', 'notebook'])
print(ar1.dtype)

Ausgabe:

<U8

Beispiel 2: Erstellen eines dtype-Objekts

Wir können ein dtype-Objekt mit der numpy.dtype-Funktion erstellen.

import numpy as np

dt1 = np.dtype(np.int64)
print (dt1)

Ausgabe:

int64

Beispiel 3: Verwenden der kürzeren Darstellung numerischer Datentypen

Im folgenden Beispiel verwenden wir die kürzere Darstellung numerischer Datentypen:

import numpy as np

a = np.dtype('i4')
print (a)

Ausgabe:

int32

Beispiel 4: Erstellen eines strukturierten dtype-Objekts

Wir werden einen strukturierten Datentyp erstellen und ihn auf ein ndarray-Objekt anwenden:

import numpy as np

## info mit key und value
a = np.dtype([('rollno',np.int16)])
print(a)

a = np.array([(101,),(201,),(301,)], dtype=a)
print(a)

Ausgabe:

[('rollno', '<i2')]
[(101,) (201,) (301,)]

Beispiel 5: Ändern des Datentyps

Im folgenden Beispiel ändern wir den Datentyp von float zu integer, indem wir int als Parameterwert verwenden:

import numpy as np

ar= np.array([1.1, 2.1, 3.1])

newarr = ar.astype(int)

print(newarr)
print(newarr.dtype)

Ausgabe:

[1 2 3]
int64

Zusammenfassung

In diesem Lab haben wir das Konzept von Datentypen in einem Array behandelt. Wir haben gesehen, wie das dtype-Objekt verwendet wird, um den Datentyp von Werten anzugeben, seine Syntax und die für das dtype-Objekt erforderlichen Parameter. Wir haben auch verschiedene numerische Datentypen behandelt und dann einige Beispiele zur Veranschaulichung gegeben.