Maison >développement back-end >Tutoriel Python >Comment puis-je remplacer efficacement les NaN dans un DataFrame Pandas par des valeurs ci-dessus sans boucles ?
Certaines situations nécessitent la manipulation de valeurs DataFrame contenant des NaN. Pour rationaliser ce processus, envisagez le scénario : un DataFrame avec des NaN qui doivent être remplacés par des valeurs non NaN de la même colonne au-dessus d'eux.
Une solution efficace réside dans la méthode fillna des pandas. En spécifiant le paramètre de la méthode comme 'ffill' (forward fill), les NaN sont remplacés par l'observation valide la plus proche dans la colonne correspondante :
import pandas as pd df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, None, 9]]) df.fillna(method='ffill')
Cette méthode fonctionne en "propagant la dernière observation valide vers la suivante valide." Ceci est particulièrement utile pour préserver l'intégrité des données temporelles ou cycliques.
Pour obtenir l'effet inverse, la méthode 'bfill' (back fill) peut être utilisée. Pour une modification inplace du DataFrame, utilisez l'argument inplace=True :
df.fillna(method='ffill', inplace=True)
N'oubliez pas que la première ligne sert souvent de référence sans NaN. En utilisant cette approche, le processus de remplacement NaN devient à la fois efficace et sans boucle.
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!