Heim > Backend-Entwicklung > Python-Tutorial > Wie ersetzt man NaN-Werte in einem Pandas-DataFrame durch Spaltendurchschnitte?

Wie ersetzt man NaN-Werte in einem Pandas-DataFrame durch Spaltendurchschnitte?

Patricia Arquette
Freigeben: 2024-10-30 19:04:02
Original
562 Leute haben es durchsucht

How do you replace NaN values in a pandas DataFrame with column averages?

Ersetzen von NaN-Werten im Pandas-DataFrame durch Spaltendurchschnitte

Das Füllen von NaN-Werten in einem Pandas-DataFrame mit dem Durchschnitt der entsprechenden Spalten ist eine häufige Aufgabe in der Datenanalyse. Während Numpy einen unkomplizierten Ansatz für Arrays bietet, erfordern Pandas DataFrames eine maßgeschneiderte Lösung.

Ansatz:

Um NaN-Werte in einem DataFrame durch Spaltendurchschnitte zu ersetzen, können wir verwenden die DataFrame.fillna-Methode:

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

Beispiel:

Betrachten Sie einen DataFrame mit NaN-Werten:

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

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]
})</code>
Nach dem Login kopieren

Berechnen des Mittelwerts von jedem Spalte:

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

Und schließlich Ersetzen der NaN-Werte:

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

Ergebnis:

<code class="python">print(df_filled)

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

Wie in der Ausgabe zu sehen , die NaN-Werte werden erfolgreich durch den Durchschnitt ihrer jeweiligen Spalten ersetzt.

Das obige ist der detaillierte Inhalt vonWie ersetzt man NaN-Werte in einem Pandas-DataFrame 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