Maison > développement back-end > Tutoriel Python > Comment remplacer efficacement les valeurs NaN dans les DataFrames Pandas à l'aide de « fill » et « bfill » ?

Comment remplacer efficacement les valeurs NaN dans les DataFrames Pandas à l'aide de « fill » et « bfill » ?

Patricia Arquette
Libérer: 2024-12-01 19:05:10
original
903 Les gens l'ont consulté

How to Efficiently Replace NaN Values in Pandas DataFrames using `ffill` and `bfill`?

Remplacement des NaN par des valeurs précédentes ou suivantes dans les DataFrames Pandas

Lorsque vous traitez des DataFrames Pandas, les données manquantes sont représentées sous forme de NaN (pas un nombre) peut poser un défi pour l’analyse des données. Une tâche courante consiste à remplacer ces NaN par des valeurs appropriées dérivées de données existantes. Une approche simple consiste à parcourir le DataFrame et à modifier explicitement les valeurs. Cependant, Pandas propose des solutions plus efficaces qui évitent l'utilisation de boucles.

Forward Filling (ffill)

Pour remplacer les NaN par la première valeur non-NaN au-dessus d'eux dans la même colonne, utilisez la méthode fillna avec l'option ffill (forward fill). Cette méthode propage la dernière observation valide aux observations valides suivantes.

import pandas as pd
df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, None, 9]])
df.fillna(method='ffill')
Copier après la connexion

Sortie :

   0  1  2
0  1  2  3
1  4  2  3
2  4  2  9
Copier après la connexion

Considérations supplémentaires

  • La première ligne du DataFrame ne doit pas contenir de NaN car elle sert de point de référence pour remplissage.
  • La méthode ffill fonctionne par colonne, ce qui signifie qu'elle remplit les NaN dans chaque colonne séparément.
  • Pour effectuer un remplissage vers l'arrière (en remplaçant les NaN par la valeur non NaN suivante en dessous d'eux), utilisez l'option bfill (remplissage en arrière).
  • Pour modifier le DataFrame inplace sans créer de nouvelle variable, définissez le paramètre inplace sur Vrai :
df.fillna(method='ffill', inplace=True)
Copier après la connexion

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