Maison  >  Article  >  développement back-end  >  Comment remplacer les valeurs NaN dans un DataFrame Pandas par des moyennes de colonnes ?

Comment remplacer les valeurs NaN dans un DataFrame Pandas par des moyennes de colonnes ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-30 07:01:28113parcourir

How to Replace NaN Values in a Pandas DataFrame with Column Averages?

Pandas DataFrame : remplacement des valeurs NaN par des moyennes de colonnes

Dans Pandas DataFrames, la gestion des données manquantes est cruciale pour une analyse précise. En cas de données incomplètes, il devient nécessaire de remplacer les valeurs NaN par des estimations significatives. Cet article montre comment remplacer les valeurs NaN par la moyenne de leurs colonnes respectives dans un DataFrame pandas.

Problème

Considérez un DataFrame avec un mélange de nombres réels et de valeurs NaN. L'objectif est de remplacer les valeurs NaN par les valeurs moyennes des colonnes dans lesquelles elles apparaissent.

Solution

Contrairement aux tableaux NumPy, le remplissage des valeurs NaN dans les DataFrames pandas peut être géré efficacement à l'aide de l'outil Méthode fillna :

<code class="python">df.fillna(df.mean())</code>

Cette méthode remplit les valeurs NaN avec la moyenne de la colonne correspondante. Par exemple :

<code class="python">df = pd.DataFrame({'A': [-0.166919, -0.297953, -0.120211, np.nan, np.nan, -0.788073, -0.916080, -0.887858, 1.948430, 0.019698],
                   'B': [0.979728, -0.912674, -0.540679, -2.027325, np.nan, np.nan, -0.612343, 1.033826, 1.025011, -0.795876],
                   'C': [-0.632955, -1.365463, -0.680481, 1.533582, 0.461821, np.nan, np.nan, np.nan, -2.982224, -0.046431]})

mean = df.mean()
print(df.fillna(mean))</code>

Sortie :

          A         B         C
0 -0.166919  0.979728 -0.632955
1 -0.297953 -0.912674 -1.365463
2 -0.120211 -0.540679 -0.680481
3 -0.151121 -2.027325  1.533582
4 -0.151121 -0.231291  0.461821
5 -0.788073 -0.231291 -0.530307
6 -0.916080 -0.612343 -0.530307
7 -0.887858  1.033826 -0.530307
8  1.948430  1.025011 -2.982224
9  0.019698 -0.795876 -0.046431

Les valeurs NaN ont été remplacées par les valeurs moyennes de leurs colonnes respectives.

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