Heim >Backend-Entwicklung >Python-Tutorial >Wie ersetzt man NaN-Werte in einem Pandas DataFrame durch Spaltendurchschnitte mithilfe der „fillna'-Methode?
Ersetzen von NaN-Werten durch Spaltendurchschnitte in einem Pandas-Datenrahmen
Beim Umgang mit fehlenden Daten in einem Datenrahmen, der hauptsächlich mit reellen Zahlen gefüllt ist, wird NaN ersetzt Werte mit geeigneten Alternativen zu verbinden, ist unerlässlich. In diesem Fall versuchen wir, NaN-Werte durch die Durchschnittswerte der Spalten zu ersetzen, in denen sie sich befinden.
Um diesem Bedarf gerecht zu werden, bietet Pandas eine praktische Methode: DataFrame.fillna. Mithilfe dieser Funktion können wir NaN-Werte direkt mit Spaltendurchschnitten füllen:
<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>
Die DataFrame.fillna-Methode akzeptiert verschiedene Eingaben als Füllwert, einschließlich eines Skalars, eines Diktats oder einer Reihe. In diesem Fall übergeben wir „column_means“, eine Reihe, die den Mittelwert jeder Spalte enthält.
Hier ist ein Beispiel zur Veranschaulichung des Prozesses:
<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>
Ausgabe:
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
Wie dargestellt, wurden die NaN-Werte durch die entsprechenden Spaltendurchschnitte ersetzt, wodurch ein vollständiger und konsistenter Datenrahmen entsteht.
Das obige ist der detaillierte Inhalt vonWie ersetzt man NaN-Werte in einem Pandas DataFrame durch Spaltendurchschnitte mithilfe der „fillna'-Methode?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!