Comment gérer les valeurs NaN lors de la conversion d'une colonne Pandas en entier ?

Mary-Kate Olsen
Libérer: 2024-11-19 17:44:02
original
851 Les gens l'ont consulté

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

Gestion des valeurs NaN lors de la conversion d'une colonne Pandas en entier

Lorsque vous travaillez avec des trames de données Pandas, vous pouvez rencontrer des situations dans lesquelles vous devez convertir une colonne contenant des valeurs NaN au type de données entier. Cependant, cette conversion peut entraîner des erreurs, car les tableaux d'entiers ne peuvent pas gérer les valeurs manquantes par défaut.

Approches de gestion des erreurs

Vous avez essayé deux approches pour convertir l'identifiant ' en entier, mais les deux ont entraîné des erreurs :

  • Casting lors de la lecture CSV : erreur : colonne Integer a des valeurs NA
  • Conversion après la lecture CSV : erreur : impossible de convertir NA en entier

Solution : type de données entier nul

Version Pandas 0.24 introduit le concept de types de données entiers nullables. Cette fonctionnalité permet aux tableaux d'entiers de contenir des valeurs manquantes. Pour utiliser cette approche :

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)
Copier après la connexion

La série résultante aura un type 'Int64' et autorisera les valeurs NaN :

>>> series
0      1
1      2
2    NaN
dtype: Int64
Copier après la connexion

Conversion de la colonne Pandas

Pour convertir une colonne Pandas en un entier nullable dtype :

df['myCol'] = df['myCol'].astype('Int64')
Copier après la connexion

Cela convertira la colonne « myCol » en un type de données entier avec les valeurs manquantes représentées par NaN.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal