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:

[8]:
dt = data.dtype
dt
[8]:
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:

[9]:
dt.itemsize
[9]:
8

Name des Datentypes ermitteln:

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

Datentyp überprüfen:

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

Datentyp ändern mit astype:

[12]:
data_float32 = data.astype(np.float32)
data_float32
[12]:
array([[ 0.33215025,  0.9821482 ,  0.14965022],
       [-0.5039629 ,  0.79987854, -0.55183125],
       [-0.9200971 , -0.746871  ,  0.37547055],
       [-1.1687789 ,  1.6087633 , -1.6145438 ],
       [ 0.14729111,  0.4293929 , -0.11391696],
       [-0.9159697 , -0.6969758 , -0.36380735],
       [-0.34818023, -0.9103621 , -0.47645596]], dtype=float32)