Heim > Artikel > Backend-Entwicklung > Wie kann ich Pandas-Spalten mit fehlenden Werten in ganzzahlige Datentypen konvertieren?
Konvertieren von Pandas-Spalten mit fehlenden Werten in Ganzzahlen
Beim Umgang mit Pandas-Datenrahmen ist es häufig erforderlich, den Datentyp bestimmter Spalten anzugeben. Wenn eine Spalte jedoch fehlende oder leere Werte (NaNs) enthält, kann die Konvertierung in einen Ganzzahltyp wie „int“ eine Herausforderung darstellen.
Problem aufgetreten:
Um das Problem zu veranschaulichen, nehmen wir an, wir haben einen Pandas-Datenrahmen, der aus einer CSV-Datei gelesen wird, mit einer Spalte namens „id“, die NaNs enthält. Allerdings müssen wir die Spalte „id“ als Ganzzahltyp angeben.
Fehlermeldungen:
Beim Versuch, die Spalte „id“ direkt in eine Ganzzahl umzuwandeln Beim Lesen der CSV-Datei stoßen wir auf den folgenden Fehler:
df= pd.read_csv("data.csv", dtype={'id': int}) error: Integer column has NA values
Alternativ, wenn wir versuchen, den Spaltentyp nach dem Lesen der CSV-Datei zu konvertieren, Wir erhalten:
df= pd.read_csv("data.csv") df[['id']] = df[['id']].astype(int) error: Cannot convert NA to integer
Lösung:
Ab Pandas Version 0.24 ist es möglich, ganzzahlige Daten mit fehlenden Werten mithilfe von Nullable Integer Data Types darzustellen, die mit IntegerArray implementiert werden . Um diese Funktion zu nutzen:
from pandas.arrays import IntegerArray
arr = pd.array([1, 2, np.nan], dtype=pd.Int64Dtype())
df['id'] = df['id'].astype('Int64')
Durch die Verwendung von Nullable Integer-Datentypen kann Pandas ganzzahlige Spalten mit fehlenden Werten verarbeiten und dabei den beabsichtigten Datentyp beibehalten.
Das obige ist der detaillierte Inhalt vonWie kann ich Pandas-Spalten mit fehlenden Werten in ganzzahlige Datentypen konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!