Maison >développement back-end >Tutoriel Python >Comment remplacer les valeurs NaN dans un DataFrame pandas par la moyenne de chaque colonne correspondante ?

Comment remplacer les valeurs NaN dans un DataFrame pandas par la moyenne de chaque colonne correspondante ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-28 18:17:30372parcourir

How do you replace NaN values in a pandas DataFrame with the average of each corresponding column?

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

Dans un DataFrame pandas, des valeurs NaN peuvent apparaître, nécessitant le remplacement par des valeurs appropriées pour l’analyse des données. Cet article aborde le défi du remplacement des NaN par la moyenne de chaque colonne correspondante.

Contrairement à un tableau numpy, un DataFrame pandas ne peut pas appliquer directement la technique de moyenne utilisée pour un tableau numpy. Au lieu de cela, la méthode DataFrame.fillna fournit une solution simple.

Utilisation de DataFrame.fillna

Pour remplir les valeurs NaN avec la moyenne de la colonne, utilisez le code suivant :

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

# Create a DataFrame with NaN values
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]
})

print("Original DataFrame with NaN values:")
print(df)

# Calculate column means
column_means = df.mean()
print("\nColumn means:")
print(column_means)

# Replace NaN values with column means
df_filled = df.fillna(column_means)
print("\nDataFrame with NaN values replaced by column means:")
print(df_filled)</code>

Exemple :

Considérez le DataFrame suivant avec des valeurs NaN :

          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       NaN -2.027325  1.533582
4       NaN       NaN  0.461821
5 -0.788073       NaN       NaN
6 -0.916080 -0.612343       NaN
7 -0.887858  1.033826       NaN
8  1.948430  1.025011 -2.982224
9  0.019698 -0.795876 -0.046431

Utilisation de DataFrame. fillna, les valeurs NaN sont remplacées par les moyennes de colonne :

           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

Par conséquent, les valeurs NaN ont été remplacées par les moyennes de colonne appropriées.

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