Wie ersetzt man NaN-Werte in einem Pandas-DataFrame durch den Durchschnitt jeder entsprechenden Spalte?

Susan Sarandon
Freigeben: 2024-10-28 18:17:30
Original
366 Leute haben es durchsucht

How do you replace NaN values in a pandas DataFrame with the average of each corresponding column?

Ersetzen Sie NaN-Werte durch Spaltendurchschnitte in einem Pandas-DataFrame

In einem Pandas-DataFrame können NaN-Werte auftreten, die eine Ersetzung durch entsprechende Werte erforderlich machen zur Datenanalyse. Dieser Artikel befasst sich mit der Herausforderung, NaNs durch den Durchschnitt jeder entsprechenden Spalte zu ersetzen.

Im Gegensatz zu einem Numpy-Array kann ein Pandas-DataFrame die für ein Numpy-Array verwendete Mittelungstechnik nicht direkt anwenden. Stattdessen bietet die Methode DataFrame.fillna eine unkomplizierte Lösung.

Verwendung von DataFrame.fillna

Um NaN-Werte mit dem Spaltenmittelwert zu füllen, verwenden Sie der folgende Code:

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

# Create a DataFrame with NaN values
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]
})

print("Original DataFrame with NaN values:")
print(df)

# Calculate column means
column_means = df.mean()
print("\nColumn means:")
print(column_means)

# Replace NaN values with column means
df_filled = df.fillna(column_means)
print("\nDataFrame with NaN values replaced by column means:")
print(df_filled)</code>
Nach dem Login kopieren

Beispiel:

Betrachten Sie den folgenden DataFrame mit NaN-Werten:

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

Verwenden von DataFrame. fillna, die NaN-Werte werden durch die Spaltenmittelwerte ersetzt:

           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

Daher wurden die NaN-Werte durch die entsprechenden Spaltendurchschnitte ersetzt.

Das obige ist der detaillierte Inhalt vonWie ersetzt man NaN-Werte in einem Pandas-DataFrame durch den Durchschnitt jeder entsprechenden Spalte?. 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