Konvertieren eines Float-Arrays in ein Int-Array in NumPy
-
Konvertieren eines 2D-Arrays von Float nach Int mit
ndarray.astype()
in NumPy -
Konvertieren eines 2D-Array von Float nach Int mit
ndarray.asarray()
Oft müssen wir Float-Werte für eine Vielzahl von Anwendungsfällen in ganzzahlige Werte konvertieren. Ähnliches gilt für Python-Arrays und NumPy-Arrays.
Mit einigen Funktionen von NumPy
können wir 2D-Float-NumPy-Arrays einfach in 2D-Integer-NumPy-Arrays konvertieren.
In diesem Artikel werden wir über zwei solche Methoden sprechen, ndarray.astype()
und numpy.asarray()
.
Konvertieren eines 2D-Arrays von Float nach Int mit ndarray.astype()
in NumPy
NumPy-Arrays sind vom Typ ndarray
. Diese Objekte haben eingebaute Funktionen, und eine solche Funktion ist astype()
. Mit dieser Funktion wird eine Kopie eines NumPy-Arrays eines bestimmten Typs erstellt. Diese Methode akzeptiert fünf Argumente, nämlich dtype
, order
, casting
, subok
und copy
. dtype
bezieht sich auf den Datentyp des kopierten Arrays. order
ist ein optionales Argument und steuert das Speicherlayout des resultierenden Arrays. Alle anderen Optionen sind optional.
Weitere Informationen zu den anderen Parametern dieser Funktion finden Sie in der offizielle Dokumentation dieser Funktion hier.
Lesen Sie den folgenden Code, um diese Funktion besser zu verstehen.
import numpy as np
myArray = np.array(
[[1.0, 2.5, 3.234, 5.99, 99.99999], [0.3, -23.543, 32.9999, 33.0000001, -0.000001]]
)
myArray = myArray.astype(int)
print(myArray)
Ausgabe:
[[ 1 2 3 5 99]
[ 0 -23 32 33 0]]
Konvertieren eines 2D-Array von Float nach Int mit ndarray.asarray()
Zweitens können wir die Funktion asarray()
verwenden. Diese Funktion akzeptiert vier Argumente: a
, dtype
, order
und like
.
a
bezieht sich auf das Eingabearray, das konvertiert werden muss.dtype
bezieht sich auf den Datentyp, in den das Array konvertiert werden muss. Interessanterweise istdtype
ein optionales Argument, und sein Standardwert wird aus der Eingabe selbst abgeleitet.order
undlike
sind weitere optionale Argumente.order
bezieht sich auf das Speicherlayout des Ausgabearrays.
Weitere Informationen zu den Argumenten dieser Funktion finden Sie in der offizielle Dokumentation dieser Funktion hier.
import numpy as np
myArray = np.array([[1.923, 2.34, 23.134], [-24.000001, 0.000001, -0.000223]])
myArray = np.asarray(myArray, dtype=int)
print(myArray)
Ausgabe:
[[ 1 2 23]
[-24 0 0]]
Im obigen Code wird der Datentyp als int
erwähnt, und das Ausgabearray ist auch ein ganzzahliges NumPy-Array.