Remplacement des valeurs NaN par des moyennes de colonnes dans un DataFrame Pandas
Lorsque vous traitez des données manquantes dans un DataFrame rempli principalement de nombres réels, remplacez NaN valeurs avec des alternatives appropriées est essentiel. Dans ce cas, nous cherchons à remplacer les valeurs NaN par les moyennes des colonnes où elles résident.
Pour répondre à ce besoin, pandas propose une méthode pratique : DataFrame.fillna. En utilisant cette fonction, nous pouvons remplir directement les valeurs NaN avec des moyennes de colonnes :
<code class="python">df = ... # Your DataFrame with NaN values # Calculate the mean of each column column_means = df.mean() # Replace NaN values with the column averages filled_df = df.fillna(column_means)</code>
La méthode DataFrame.fillna accepte diverses entrées comme valeur de remplissage, notamment un scalaire, un dict ou une série. Dans ce cas, nous passons column_means, une série contenant la moyenne de chaque colonne.
Voici un exemple pour illustrer le processus :
<code class="python">import pandas as pd df = pd.DataFrame({ 'A': [-0.166919, -0.297953, -0.120211, NaN, NaN, -0.788073, -0.916080, -0.887858, 1.948430, 0.019698], 'B': [0.979728, -0.912674, -0.540679, -2.027325, NaN, NaN, -0.612343, 1.033826, 1.025011, -0.795876], 'C': [-0.632955, -1.365463, -0.680481, 1.533582, 0.461821, NaN, NaN, NaN, -2.982224, -0.046431] }) print(df) # Calculate the mean of each column column_means = df.mean() # Replace NaN values with the column averages filled_df = df.fillna(column_means) print(filled_df)</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 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 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
Comme illustré, les valeurs NaN ont été remplacées par les moyennes de colonnes appropriées, fournissant un DataFrame complet et cohérent.
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!