Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich Pandas-Spalten mit fehlenden Werten in ganzzahlige Datentypen konvertieren?

Wie kann ich Pandas-Spalten mit fehlenden Werten in ganzzahlige Datentypen konvertieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-22 02:35:16311Durchsuche

How Can I Convert Pandas Columns with Missing Values to Integer Data Types?

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:

  1. Importieren Sie die IntegerArray-Klasse aus Pandas.
from pandas.arrays import IntegerArray
  1. Erstellen Sie ein IntegerArray-Objekt mit dem gewünschten dtype, in diesem Fall Int64 .
arr = pd.array([1, 2, np.nan], dtype=pd.Int64Dtype())
  1. Konvertieren Sie die 'id' Spalte mit astype() in ein IntegerArray umwandeln.
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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn