dtype

Der ndarray ist ein Container für homogene Daten, d.h. alle Elemente müssen vom gleichen Typ sein. Jedes Array hat einen dtype, ein Objekt, das den Datentyp des Arrays beschreibt:

[1]:
import numpy as np


rng = np.random.default_rng()
data = rng.random((7, 3))
dt = data.dtype
dt
[1]:
dtype('float64')

NumPy-Datentypen:

Typ

Typ-Code

Beschreibung

int8, uint8

i1, u1

Vorzeichenbehaftete und vorzeichenlose 8-Bit (1 Byte) Ganzzahltypen

int16, uint16

i2, u2

Vorzeichenbehaftete und vorzeichenlose 16-Bit (2 Byte) Ganzzahltypen

int32, uint32

i4, u4

Vorzeichenbehaftete und vorzeichenlose 32-Bit (4 Byte) Ganzzahltypen

int64, uint64

i8, u8

Vorzeichenbehaftete und vorzeichenlose 64-Bit (8 Byte) Ganzzahltypen

float16

f2

Standard-Gleitkomma mit halber Genauigkeit

float32

f4 oder f

Standard-Gleitkomma mit einfacher Genauigkeit; kompatibel mit C float

float64

f8 oder d

Standard-Gleitkomma mit doppelter Genauigkeit; kompatibel mit C double und Python float-Objekt

complex64, complex128, complex256

c8, c16, c32

Komplexe Zahlen, die durch zwei 32-, 64- bzw. 128-Gleitkommazahlen dargestellt werden

bool

?

Boolescher Typ, der die Werte True und False speichert

object

O

Python-Objekttyp; ein Wert kann ein beliebiges Python-Objekt sein

string_

S

ASCII-Stringtyp mit fester Länge (1 Byte pro Zeichen); um z.B. einen Stringtyp mit der Länge 7 zu erstellen, verwendet S7; längere Eingaben werden ohne Warnung abgeschnitten

unicode_

U

Unicode-Typ mit fester Länge wobei die Anzahl der Bytes plattformspezifisch ist; verwendet dieselbe Spezifikationssemantik wie string_, z.B. U7

Anzahl der Elemente mit itemsize ermitteln:

[2]:
dt.itemsize
[2]:
8

Name des Datentypes ermitteln:

[3]:
dt.name
[3]:
'float64'

Datentyp überprüfen:

[4]:
dt.type is np.float64
[4]:
True

Datentyp ändern mit astype:

[5]:
data_float32 = data.astype(np.float32)
data_float32
[5]:
array([[0.8959591 , 0.95819676, 0.52365017],
       [0.05653278, 0.18683353, 0.76510984],
       [0.9283983 , 0.561397  , 0.8671029 ],
       [0.86952984, 0.21159811, 0.6124638 ],
       [0.03761354, 0.41308585, 0.5807331 ],
       [0.9768227 , 0.3987061 , 0.5606387 ],
       [0.5677797 , 0.4074486 , 0.9794231 ]], dtype=float32)