Objekt in Float konvertieren in Pandas
-
Verwenden der Methode
astype()
zum Konvertieren von Objekten in Fließkommazahlen in Pandas -
Verwenden der Funktion
to_numeric()
zum Konvertieren von Objekten in Fließkommazahlen in Pandas
In diesem Tutorial konzentrieren wir uns auf die Konvertierung einer objektartigen Spalte in float in Pandas. Eine objektartige Spalte enthält eine Zeichenkette oder eine Mischung aus anderen Typen, während float dezimale Werte enthält. Wir werden in diesem Artikel mit dem folgenden DataFrame arbeiten.
import pandas as pd
df = pd.DataFrame(
[["10.0", 6, 7, 8], ["1.0", 9, 12, 14], ["5.0", 8, 10, 6]],
columns=["a", "b", "c", "d"],
)
print(df)
print("---------------------------")
print(df.info())
Ausgabe:
a b c d
0 10.0 6 7 8
1 1.0 9 12 14
2 5.0 8 10 6
---------------------------
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 4 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 a 3 non-null object
1 b 3 non-null int64
2 c 3 non-null int64
3 d 3 non-null int64
dtypes: int64(3), object(1)
memory usage: 224.0+ bytes
None
Beachten Sie den Typ der Spalte 'a'
, die vom Typ object
ist. Wir werden dieses Objekt mit den Funktionen pd.to_numeric()
und astype()
in Pandas in float konvertieren.
convert_objects()
, die veraltet ist und entfernt wurde.Verwenden der Methode astype()
zum Konvertieren von Objekten in Fließkommazahlen in Pandas
Pandas bietet die Methode astype()
, um eine Spalte in einen bestimmten Typ zu konvertieren. Wir übergeben float
an die Methode und setzen den Parameter errors
auf 'raise'
, was bedeutet, dass sie bei ungültigen Werten Exceptions auslösen wird. Beispiel:
import pandas as pd
df = pd.DataFrame(
[["10.0", 6, 7, 8], ["1.0", 9, 12, 14], ["5.0", 8, 10, 6]],
columns=["a", "b", "c", "d"],
)
df["a"] = df["a"].astype(float, errors="raise")
print(df.info())
Ausgabe:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 4 columns):
a 3 non-null float64
b 3 non-null int64
c 3 non-null int64
d 3 non-null int64
dtypes: float64(1), int64(3)
memory usage: 224.0 bytes
Verwenden der Funktion to_numeric()
zum Konvertieren von Objekten in Fließkommazahlen in Pandas
Die Pandas-Funktion to_numeric()
kann verwendet werden, um eine Liste, eine Serie, ein Array oder ein Tupel in einen numerischen Datentyp zu konvertieren, d.h. in vorzeichenbehaftete oder vorzeichenlose int- und float-Typen. Sie hat auch den Parameter errors
, um Ausnahmen auszulösen. Ein Beispiel für die Konvertierung des Objekttyps in Float mit to_numeric()
ist unten dargestellt:
import pandas as pd
df = pd.DataFrame(
[["10.0", 6, 7, 8], ["1.0", 9, 12, 14], ["5.0", 8, 10, 6]],
columns=["a", "b", "c", "d"],
)
df["a"] = pd.to_numeric(df["a"], errors="coerce")
print(df.info())
Ausgabe:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 4 columns):
a 3 non-null float64
b 3 non-null int64
c 3 non-null int64
d 3 non-null int64
dtypes: float64(1), int64(3)
memory usage: 224.0 bytes
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInVerwandter Artikel - Pandas DataFrame
- Wie man Pandas DataFrame-Spaltenüberschriften als Liste erhält
- Pandas DataFrame-Spalte löschen
- Wie man DataFrame-Spalte in Datetime in Pandas konvertiert
- Wie konvertiert man eine Fließkommazahl in eine Ganzzahl in Pandas DataFrame
- Wie man Pandas-DataFrame nach den Werten einer Spalte sortiert
- Wie erhält man das Aggregat der Pandas gruppenweise und sum