Maison >développement back-end >Tutoriel Python >Comment puis-je remplacer efficacement les valeurs NaN dans un DataFrame Pandas ?

Comment puis-je remplacer efficacement les valeurs NaN dans un DataFrame Pandas ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-30 20:38:13137parcourir

How Can I Efficiently Replace NaN Values in a Pandas DataFrame?

Remplacement efficace des NaN dans un DataFrame Pandas

Dans l'analyse des données, les valeurs nulles ou les NaN peuvent poser des défis. Par exemple, considérons un DataFrame pandas avec des NaN :

import pandas as pd
df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, None, 9]])

Pour gérer efficacement ces NaN, nous recherchons une solution élégante pour les remplacer par des valeurs logiques.

Approche de remplissage vers l'avant

Une méthode efficace et sans boucle consiste à utiliser la méthode fillna avec le paramètre ffill. Cette opération propage la dernière valeur observée vers l'avant, en remplaçant tous les NaN suivants. Pour le DataFrame donné, cela donne :

df.fillna(method='ffill')
   0  1  2
0  1  2  3
1  4  2  3
2  4  2  9

Approche de remplissage en arrière

Alternativement, si vous remplacez NaN par la valeur la plus proche dans la même colonne mais vers l'arrière est souhaité, le paramètre bfill peut être utilisé. Cette méthode propage la première valeur observée vers l'arrière, en remplissant les NaN.

Modification sur place

Par défaut, la méthode fillna ne modifie pas le DataFrame d'origine. Pour appliquer les modifications de manière permanente, utilisez inplace=True.

df.fillna(method='ffill', inplace=True)

Cette opération met directement à jour df, en remplaçant tous les NaN selon la méthode spécifiée.

Conclusion

En tirant parti de la flexibilité de la méthode fillna, nous pouvons remplacer efficacement les NaN dans les DataFrames pandas par des techniques de remplissage avant et arrière, garantissant ainsi un nettoyage propre. et des données complètes pour analyse.

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