Heim > Backend-Entwicklung > Python-Tutorial > Wie ersetze ich NaN-Werte in einem Pandas-Datenrahmen durch Spaltendurchschnitte?

Wie ersetze ich NaN-Werte in einem Pandas-Datenrahmen durch Spaltendurchschnitte?

Linda Hamilton
Freigeben: 2024-10-30 07:01:28
Original
191 Leute haben es durchsucht

How to Replace NaN Values in a Pandas DataFrame with Column Averages?

Pandas DataFrame: Ersetzen von NaN-Werten durch Spaltendurchschnitte

In Pandas DataFrames ist der Umgang mit fehlenden Daten für eine genaue Analyse von entscheidender Bedeutung. Bei unvollständigen Daten ist es notwendig, NaN-Werte durch aussagekräftige Schätzungen zu ersetzen. Dieser Artikel zeigt, wie man NaN-Werte durch den Durchschnitt ihrer jeweiligen Spalten in einem Pandas-DataFrame ersetzt.

Problem

Stellen Sie sich einen DataFrame mit einer Mischung aus reellen Zahlen und NaN-Werten vor. Das Ziel besteht darin, die NaN-Werte durch die Durchschnittswerte der Spalten zu ersetzen, in denen sie erscheinen.

Lösung

Im Gegensatz zu NumPy-Arrays kann das Füllen von NaN-Werten in Pandas-DataFrames mithilfe von effizient gehandhabt werden fillna-Methode:

<code class="python">df.fillna(df.mean())</code>
Nach dem Login kopieren

Diese Methode füllt NaN-Werte mit dem Mittelwert der entsprechenden Spalte. Zum Beispiel:

<code class="python">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]})

mean = df.mean()
print(df.fillna(mean))</code>
Nach dem Login kopieren

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 -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
Nach dem Login kopieren

Die NaN-Werte wurden durch die Durchschnittswerte ihrer jeweiligen Spalten ersetzt.

Das obige ist der detaillierte Inhalt vonWie ersetze ich NaN-Werte in einem Pandas-Datenrahmen durch Spaltendurchschnitte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage