[PYTHON] Behandeln Sie Ganzzahltypen mit fehlenden Werten in Pandas

Bisher konnte die Pandas-Serie keine Ganzzahltypen mit fehlenden Werten verarbeiten.

pd.Series([1, 2, None], dtype=int)
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

Wenn numerische Daten einschließlich fehlender Werte ohne Angabe des Typs gelesen werden, werden sie in den Typ float64 umgewandelt.

pd.Series([1, 2, None])
0    1.0
1    2.0
2    NaN
dtype: float64

Dieses Verhalten ist auf den Grund zurückzuführen, dass " numpy.nan ein Gleitkommawert ist ", aber wir möchten fehlende Werte behandeln und müssen nicht numpy.nan sein.

Als Antwort fügte Pandas v0.24.0 [Datentyp Nullable Integer] hinzu (https://pandas.pydata.org/pandas-docs/stable/user_guide/integer_na.html). Es scheint, dass dieses Problem durch die Einführung einer neuen "pandas.NA" anstelle von "numpy.nan" behoben wurde.

pd.Series([1, 2, None], dtype=pd.Int64Dtype())
0       1
1       2
2    <NA>
dtype: Int64

Der für dtype angegebene Wert funktioniert genauso mit der Zeichenfolge "Int64" anstelle von "pd.Int64Dtype ()". (Beachten Sie, dass "I" in Großbuchstaben geschrieben ist.)

Auch in der Dokumentation

IntegerArray is currently experimental.

Wie geschrieben, befindet sich diese Funktion noch im experimentellen Stadium, daher müssen Sie bei der Verwendung vorsichtig sein.

Recommended Posts

Behandeln Sie Ganzzahltypen mit fehlenden Werten in Pandas
Füllen Sie fehlende Werte mit Scikit-learn impute aus
Löschen Sie Zeilen mit beliebigen Werten in pandas DataFrame
Einfallsreichtum beim speichersparenden Umgang mit Daten mit Pandas
Behandelt verschiedene Datumsformate mit Pandas
Holen Sie sich die besten n-ten Werte in Pandas
"Kaggle Memorandum" Fehlende Werte suchen / löschen
Umgang mit aufeinanderfolgenden Werten in MySQL
Ersetzen Sie Spaltennamen / -werte durch Pandas-Datenrahmen
Behandeln Sie 3D-Datenstrukturen mit Pandas
Behandeln Sie Zip-Dateien mit japanischen Dateinamen in Python 3
Eine Geschichte voller absoluter Werte von numpy.ndarray
Entfernen Sie Zeilen mit doppelten Indizes in pandas DataFrame
Aggregieren Sie VIP-Werte von Smash Bra mit Pandas
Pandas mit fehlendem Wert
Berechnen Sie die Summe der eindeutigen Werte durch Pandas-Kreuztabellen
[Go] sqlx verarbeitet Abfragen, die IN-Klauseln mit Named Stmt enthalten
Vorsichtsmaßnahmen beim Umgang mit ROS MultiArray in Python
Zugriff mit dem Cache beim Lesen von_json mit Pandas
So extrahieren Sie Nullwerte und Nicht-Nullwerte mit Pandas
Konvertieren Sie numerische Variablen mit Pandas in kategoriale Variablen, indem Sie einen Schwellenwert festlegen