Maison >développement back-end >Tutoriel Python >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 ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-30 19:04:02538parcourir

How do you replace NaN values in a pandas DataFrame with column averages?

Remplacer les valeurs NaN dans un DataFrame pandas par des moyennes de colonnes

Remplir les valeurs NaN dans un DataFrame pandas avec la moyenne des colonnes correspondantes est une tâche courante dans l'analyse des données. Alors que numpy offre une approche simple pour les tableaux, les Pandas DataFrames nécessitent une solution sur mesure.

Approche :

Pour remplacer les valeurs NaN dans un DataFrame par des moyennes de colonnes, nous pouvons utiliser la méthode DataFrame.fillna :

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

Exemple :

Considérons un DataFrame avec des valeurs NaN :

<code class="python">import pandas as pd

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]
})</code>

Calcul de la moyenne de chacun colonne :

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

Et enfin, en remplaçant les valeurs NaN :

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

Résultat :

<code class="python">print(df_filled)

          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</code>

Comme on le voit dans la sortie , les valeurs NaN sont remplacées avec succès par la moyenne 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