Heim >Backend-Entwicklung >Python-Tutorial >Wie gehe ich mit NaN-Werten um, wenn ich eine Pandas-Spalte in eine Ganzzahl konvertiere?

Wie gehe ich mit NaN-Werten um, wenn ich eine Pandas-Spalte in eine Ganzzahl konvertiere?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-19 17:44:02900Durchsuche

How to Handle NaN Values When Converting a Pandas Column to Integer?

Verarbeitung von NaN-Werten beim Konvertieren von Pandas-Spalten in Ganzzahlen

Bei der Arbeit mit Pandas-Datenrahmen kann es vorkommen, dass Sie eine Spalte konvertieren müssen Enthält NaN-Werte für den Integer-Datentyp. Diese Konvertierung kann jedoch zu Fehlern führen, da Integer-Arrays standardmäßig keine fehlenden Werte verarbeiten können.

Ansätze zur Fehlerbehandlung

Sie haben zwei Ansätze zum Konvertieren der „id“ ausprobiert ' Spalte in Ganzzahl, aber beide haben zu Fehlern geführt:

  • Umwandlung beim CSV-Lesen: Fehler: Ganzzahlspalte hat NA Werte
  • Konvertierung nach CSV-Lesen: Fehler: NA kann nicht in Ganzzahl konvertiert werden

Lösung: Nullable Integer Data Type

Pandas Version 0.24 wird eingeführt das Konzept nullfähiger ganzzahliger Datentypen. Mit dieser Funktion können ganzzahlige Arrays fehlende Werte enthalten. So verwenden Sie diesen Ansatz:

import numpy as np

# Create a nullable integer array
arr = pd.array([1, 2, np.nan], dtype=pd.Int64Dtype())

# Create a Pandas Series from the array
series = pd.Series(arr)

Die resultierende Serie hat den D-Typ „Int64“ und lässt NaN-Werte zu:

>>> series
0      1
1      2
2    NaN
dtype: Int64

Pandas-Spalte konvertieren

So konvertieren Sie eine Pandas-Spalte in einen nullbaren Ganzzahl-D-Typ:

df['myCol'] = df['myCol'].astype('Int64')

Dies wird Konvertieren Sie die Spalte „myCol“ in einen ganzzahligen Datentyp, wobei fehlende Werte als NaN dargestellt werden.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit NaN-Werten um, wenn ich eine Pandas-Spalte in eine Ganzzahl konvertiere?. 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