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
Patricia ArquetteOriginal
2024-10-30 19:04:02535Durchsuche

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>

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>

Berechnen des Mittelwerts von jedem Spalte:

<code class="python">column_averages = df.mean()</code>

Und schließlich Ersetzen der NaN-Werte:

<code class="python">df_filled = df.fillna(column_averages)</code>

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>

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!

Stellungnahme:
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