Maison >développement back-end >Tutoriel Python >Comment convertir des colonnes Pandas avec des valeurs NaN en type de données entier ?

Comment convertir des colonnes Pandas avec des valeurs NaN en type de données entier ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-28 18:57:19804parcourir

How to Convert Pandas Columns with NaN Values to Integer Data Type?

Conversion des colonnes Pandas avec des valeurs NaN en Dtype 'int'

Lorsque vous travaillez avec la manipulation de données en Python à l'aide de la bibliothèque Pandas, il est courant pour rencontrer des colonnes avec des valeurs manquantes ou NaN. La conversion de telles colonnes en types de données entiers (« int ») pose un défi unique car les valeurs NaN ne sont pas compatibles avec les opérations sur les entiers.

Pour surmonter ce problème, Pandas a introduit un nouveau type de données entier nullable dans la version 0.24. . Ce type de données permet la représentation de valeurs entières avec d'éventuelles valeurs manquantes.

Pour spécifier explicitement le type d'une colonne comme « int64 », la méthode « astypte » peut être utilisée. Cependant, il est essentiel de se rappeler que la méthode « astype » ne peut pas convertir directement les valeurs NaN en entier.

Pour convertir une colonne avec des valeurs NaN en un type de données entier nullable, suivez ces étapes :

  1. Importez le module 'array' depuis 'pandas' en utilisant 'import pandas as pd' déclaration.
  2. Initialisez la colonne à l'aide de la fonction de tableau avec le type approprié. Par exemple :

    'arr = pd.array([1, 2, np.nan], dtype=pd.Int64Dtype())'
    
  3. Attribuez le tableau nouvellement créé à la série Pandas.

    ' pd.Series(arr)'
    
  4. Pour convertir une colonne dans un DataFrame à un type de données entier nullable, utilisez le 'astype' méthode.

    'df['myCol'] = df['myCol'].astype('Int64')'
    
  5. Gérez les valeurs manquantes comme vous le souhaitez, par exemple en les remplaçant par 0 ou en calculant les valeurs médianes/modes.

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!

Déclaration:
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