Konvertieren von String in Float in NumPy

Vaibhav Vaibhav 22 Juni 2021
  1. Konvertieren von String in Float in NumPy mit der Methode astype()
  2. Konvertieren von String in Float in NumPy mit der Methode asarray()
  3. Konvertieren von den String mit der Methode asfarray() in Float in NumPy
Konvertieren von String in Float in NumPy

Konvertierungen zwischen numerischen Daten und Zeichenkettendaten sind etwas schwierig zu handhaben. In Python ist dies alles fast mühelos, da Python über viele integrierte Funktionen verfügt, die speziell für solche Conversions entwickelt wurden.

Python verfügt sogar über eine Reihe externer Bibliotheken, um diese Konvertierungen mit verbesserter Leistung und Geschwindigkeit durchzuführen. NumPy ist eine solche Bibliothek.

NumPy ist eine Python-Bibliothek, in der es um mehrdimensionale Arrays und Matrizen sowie um alle Arten von mathematischen und logischen Berechnungen geht, die wir mit ihnen durchführen können. In diesem Artikel wird beschrieben, wie Sie ein NumPy-String-Array mit NumPy selbst in ein NumPy-Float-Array konvertieren.

Konvertieren von String in Float in NumPy mit der Methode astype()

astype ist eine eingebaute Klassenfunktion für Objekte vom Typ ndarray. Diese Methode gibt eine Kopie des ndarray zurück und wandelt sie in einen angegebenen Datentyp um.

Die Syntax der Methode astype() ist unten angegeben.

astype(dtype, order, casting, subok, copy)

Es hat die folgenden Parameter.

  • dtype - Dies ist der Datentyp, in den das NumPy-Array umgewandelt wird.
  • order - Dies ist ein optionaler Parameter. Dieser Parameter steuert das Speicherlayout des resultierenden Arrays oder der Ausgabe.
  • casting - Dies ist ein optionaler Parameter. Dieser Parameter steuert die Art des Castings oder der Konvertierung, die stattfinden wird. Standardmäßig ist der Wert unsafe.
  • subok - Dies ist ein optionaler boolescher Parameter. Es entscheidet, ob das Ausgabearray vom Typ nparray oder von den Unterklassen von ndarray ist.
  • copy - Dies ist ein optionaler boolescher Parameter. Es entscheidet, ob die Ausgabe ein neu zugewiesenes Array sein soll oder nicht.

Mit dieser Methode können Sie die Konvertierung durchführen. Weitere Informationen finden Sie im folgenden Codeausschnitt.

import numpy as np

stringArray = np.array(
    ["1.000", "1.235", "0.000125", "2", "55", "-12.35", "0", "-0.00025"]
)
floatArray = stringArray.astype(float)
print(stringArray)
print(floatArray)

Ausgabe:

['1.000' '1.235' '0.000125' '2' '55' '-12.35' '0' '-0.00025']
[ 1.000e+00  1.235e+00  1.250e-04  2.000e+00  5.500e+01 -1.235e+01
  0.000e+00 -2.500e-04]

Weitere Informationen zu dieser Methode finden Sie in der offizielle Dokumentation.

Konvertieren von String in Float in NumPy mit der Methode asarray()

asarray() ist eine NumPy-Funktion, die das Eingabearray in ein NumPy-Array eines bestimmten Typs konvertiert. Das Eingabearray kann eine Python-Liste, Tupel, Tupel von Listen, eine Liste von Tupeln, Listen von Listen, Tupel von Tupeln und ein NumPy-Array selbst sein.

Die Syntax der Methode asarray() ist unten angegeben.

asarray(a, dtype, order, like)

Es hat die folgenden Parameter.

  • a - Es ist das Eingabearray, das konvertiert wird.
  • dtype - Bezieht sich auf den Datentyp des konvertierten Arrays. Standardmäßig leitet diese Funktion den Datentyp automatisch aus dem Eingabearray ab.
  • order - Dies ist ein optionaler Parameter. Dieser Parameter bestimmt das Speicherlayout des konvertierten Arrays.
  • like - Dies ist ein optionaler boolescher Parameter. Es steuert die Definition des neu erstellten Arrays.

Weitere Informationen zu dieser Methode finden Sie in den offiziellen Dokumenten.

import numpy as np

stringArray = np.array(
    ["1.000", "1.235", "0.000125", "2", "55", "-12.35", "0", "-0.00025"]
)
floatArray = np.asarray(stringArray, dtype=float)
print(stringArray)
print(floatArray)

Ausgabe:

['1.000' '1.235' '0.000125' '2' '55' '-12.35' '0' '-0.00025']
[ 1.000e+00  1.235e+00  1.250e-04  2.000e+00  5.500e+01 -1.235e+01
  0.000e+00 -2.500e-04]

Konvertieren von den String mit der Methode asfarray() in Float in NumPy

Schließlich ist es das asfarray(). Möglicherweise haben Sie bereits erraten, was diese Methode bewirkt. Es konvertiert das Eingabearray in ein NumPy vom Typ float.

Die Syntax der Methode asfarray() ist unten angegeben.

asfarray(a, dtype)

Diese Methode hat nur zwei Parameter.

  • a - Dies ist das Eingabearray, das in ein Float-Array konvertiert wird.
  • dtype - Dies ist ein optionaler Parameter und bezieht sich auf den Datentyp des Ausgabearrays. Dies kann str oder einer der Float-Datentypen sein. Wenn sein Wert einer der ganzzahligen Datentypen ist, wird er automatisch durch den Datentyp float64 ersetzt.
import numpy as np

stringArray = np.array(
    ["1.000", "1.235", "0.000125", "2", "55", "-12.35", "0", "-0.00025"]
)
floatArray = np.asfarray(stringArray, dtype=float)
print(stringArray)
print(floatArray)

Ausgabe:

['1.000' '1.235' '0.000125' '2' '55' '-12.35' '0' '-0.00025']
[ 1.000e+00  1.235e+00  1.250e-04  2.000e+00  5.500e+01 -1.235e+01
  0.000e+00 -2.500e-04]

Weitere Informationen finden Sie in den offiziellen Dokumenten.

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.