NumPy Tutorial - NumPy Datentyp und Konvertierung

Jinku Hu 18 Juli 2021
  1. NumPy Datentyp
  2. Datentyp-Konvertierung
NumPy Tutorial - NumPy Datentyp und Konvertierung

Datentyp - dtype in NumPy unterscheidet sich von den primitiven Datentypen in Python, z.B. hat dtype den Typ mit höherer Auflösung, der bei der Datenberechnung nützlich ist.

NumPy Datentyp

Datentyp Beschreibung
bool Boolean
int8 8-Bit Ganzzahl mit Vorzeichen
int16 16-Bit Ganzzahl mit Vorzeichen
int32 32-Bit Ganzzahl mit Vorzeichen
int64 64-Bit vorzeichenbehaftete Ganzzahl
uint8 8-Bit Ganzzahl ohne Vorzeichen
uint16 16-Bit Ganzzahl ohne Vorzeichen
uint32 32-Bit Ganzzahl ohne Vorzeichen
uint64 64-Bit Ganzzahl ohne Vorzeichen
float16 16-Bit-Gleitkommazahl
float32 32-Bit-Gleitkommazahl
float64 64-Bit-Gleitkommazahl
complex64 64-Bit komplexe Zahl
complex128 128-Bit komplexe Zahl

Beim Erstellen eines neuen ndarray Daten, können Sie den Datentyp des Elements durch String oder oder Datentyp-Konstanten in der NumPy Bibliothek definieren.

import numpy as np

# by string
test = np.array([4, 5, 6], dtype="int64")

# by data type constant in numpy
test = np.array([7, 8, 8], dtype=np.int64)

Datentyp-Konvertierung

Nachdem die Dateninstanz erstellt wurde, können Sie den Typ des Elements mit der Methode astype() auf einen anderen Typ ändern, z.B. von Integer auf Floating und so weiter.

>>> import numpy as np
>>> test = np.array([11, 12, 13, 14], dtype="int32")
>>> x = test.astype('float32')
>>> x
array([11., 12., 13., 14.], dtype=float32)
>>> test, test.dtype
(array([11, 12, 13, 14]), dtype('int32'))
Achtung
Die Datentypkonvertierungsmethode gibt nur eine neue Arrayinstanz zurück, und die Daten und Informationen der ursprünglichen Arrayinstanz haben sich nicht geändert.
Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook