Maison >développement back-end >Tutoriel Python >Comment remplacer les valeurs NaN dans un DataFrame pandas par la moyenne de chaque colonne correspondante ?
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!