NumPy -Datentypen
Datentypen in Python
Standardmäßig hat Python diese Datentypen:
strings
- Wird zur Darstellung von Textdaten verwendet, der Text wird unter Anführungszeichen angegeben. zB "ABCD"integer
- Wird verwendet, um ganze Zahlen darzustellen. zB -1, -2, -3float
- Wird verwendet, um reelle Zahlen darzustellen. zB 1,2, 42,42boolean
- Wird verwendet, um True oder False darzustellen.complex
- Wird verwendet, um komplexe Zahlen darzustellen. zB 1,0 + 2,0j, 1,5 + 2,5j
Datentypen in NumPy
NumPy hat einige zusätzliche Datentypen und bezieht sich auf Datentypen mit einem Zeichen, wie i
für ganze Zahlen, u
für vorzeichenlose ganze Zahlen usw.
Nachfolgend finden Sie eine Liste aller Datentypen in NumPy und die Zeichen, die zu ihrer Darstellung verwendet werden.
i
- Ganzzahlb
- booleschu
- Ganzzahl ohne Vorzeichenf
- schwebenc
- komplexer Schwimmerm
- ZeitdeltaM
- TerminzeitO
- ObjektS
- SchnurU
- Unicode-StringV
- Fester Speicherplatz für andere Typen (void)
Überprüfen des Datentyps eines Arrays
Das NumPy-Array-Objekt hat eine aufgerufene Eigenschaft dtype
, die den Datentyp des Arrays zurückgibt:
Beispiel
Holen Sie sich den Datentyp eines Array-Objekts:
import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr.dtype)
Beispiel
Rufen Sie den Datentyp eines Arrays ab, das Strings enthält:
import numpy as np
arr = np.array(['apple',
'banana', 'cherry'])
print(arr.dtype)
Erstellen von Arrays mit einem definierten Datentyp
Wir verwenden die array()
Funktion, um Arrays zu erstellen, diese Funktion kann ein optionales Argument annehmen: Damit dtype
können wir den erwarteten Datentyp der Array-Elemente definieren:
Beispiel
Erstellen Sie ein Array mit dem Datentyp string:
import numpy as np
arr = np.array([1, 2, 3, 4],
dtype='S')
print(arr)
print(arr.dtype)
Für i
, u
, f
,
S
und U
können wir auch Größe definieren.
Beispiel
Erstellen Sie ein Array mit dem Datentyp 4 Bytes Integer:
import numpy as np
arr = np.array([1, 2, 3, 4],
dtype='i4')
print(arr)
print(arr.dtype)
Was ist, wenn ein Wert nicht umgerechnet werden kann?
Wenn ein Typ angegeben wird, in dem Elemente nicht gecastet werden können, löst NumPy einen ValueError aus.
ValueError: In Python wird ValueError ausgelöst, wenn der Typ des übergebenen Arguments an eine Funktion unerwartet/falsch ist.
Beispiel
Eine nicht ganzzahlige Zeichenfolge wie 'a' kann nicht in eine Ganzzahl konvertiert werden (wird einen Fehler auslösen):
import numpy as np
arr = np.array(['a', '2', '3'], dtype='i')
Konvertieren des Datentyps in vorhandenen Arrays
Der beste Weg, den Datentyp eines bestehenden Arrays zu ändern, besteht darin, mit der astype()
Methode eine Kopie des Arrays zu erstellen.
Die astype()
Funktion erstellt eine Kopie des Arrays und ermöglicht es Ihnen, den Datentyp als Parameter anzugeben.
Der Datentyp kann mit einem String angegeben werden, wie 'f'
für Float,
'i'
für Integer usw., oder Sie können den Datentyp direkt verwenden, wie
float
für Float und int
für Integer.
Beispiel
Ändern Sie den Datentyp von Float in Integer, indem Sie 'i'
als Parameterwert verwenden:
import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype('i')
print(newarr)
print(newarr.dtype)
Beispiel
Ändern Sie den Datentyp von Float in Integer, indem Sie int
als Parameterwert verwenden:
import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype(int)
print(newarr)
print(newarr.dtype)
Beispiel
Datentyp von Integer auf Boolean ändern:
import numpy as np
arr = np.array([1, 0, 3])
newarr = arr.astype(bool)
print(newarr)
print(newarr.dtype)