Oft könnten Sie daran interessiert sein, NaN-Werte in einem Pandas-DataFrame durch Nullen zu ersetzen. Glücklicherweise ist dies mit der Funktion fillna() einfach zu bewerkstelligen.

Dieses Tutorial zeigt einige Beispiele für die Verwendung dieser Funktion.

Beispiel 1: Ersetzen Sie NaN-Werte durch Nullen in einer Spalte

Angenommen, wir haben die folgenden Pandas DataFrame:

import numpy as np
import pandas as pd

#Dataframe erstellen mit einigen NaN-Werten
df = pd.DataFrame({'rating': [np.nan, 85, np.nan, 88, 94, 90, 76, 75, 87, 86],
                   'points': [25, np.nan, 14, 16, 27, 20, 12, 15, 14, 19],
                   'assists': [5, 7, 7, np.nan, 5, 7, 6, 9, 9, 5],
                   'rebounds': [11, 8, 10, 6, 6, 9, 6, 10, 10, 7]})

#Dataframe anzeigen
df

rating  points  assists rebounds
0   NaN 25.0    5.0 11
1   85.0    NaN 7.0 8
2   NaN 14.0    7.0 10
3   88.0    16.0    NaN 6
4   94.0    27.0    5.0 6
5   90.0    20.0    7.0 9
6   76.0    12.0    6.0 6
7   75.0    15.0    9.0 10
8   87.0    14.0    9.0 10
9   86.0    19.0    5.0 7

Wir können die folgende Syntax verwenden, um die NaN-Werte durch Nullen in der Spalte "rating" zu ersetzen:

# Ersetzen Sie NaNs durch Nullen in der Spalte 'rating'
df['rating'] = df['rating'].fillna(0)

#Dataframe anzeigen
df

    rating  points  assists rebounds
0   0.0 25.0    5.0 11
1   85.0    NaN 7.0 8
2   0.0 14.0    7.0 10
3   88.0    16.0    NaN 6
4   94.0    27.0    5.0 6
5   90.0    20.0    7.0 9
6   76.0    12.0    6.0 6
7   75.0    15.0    9.0 10
8   87.0    14.0    9.0 10
9   86.0    19.0    5.0 7

Beispiel 2: Ersetzen Sie NaN-Werte durch Nullen in mehreren Spalten

Wir können die folgende Syntax verwenden, um die NaN-Werte sowohl in den Spalten "rating" als auch "points" durch Nullen zu ersetzen:

# Ersetzen Sie NaNs durch Nullen in den Spalten "rating" und "points"
df[['rating', 'points']] = df[['rating', 'points']].fillna(0)

#Dataframe anzeigen
df

    rating  points  assists rebounds
0   0.0 25.0    5.0 11
1   85.0    0.0 7.0 8
2   0.0 14.0    7.0 10
3   88.0    16.0    NaN 6
4   94.0    27.0    5.0 6
5   90.0    20.0    7.0 9
6   76.0    12.0    6.0 6
7   75.0    15.0    9.0 10
8   87.0    14.0    9.0 10
9   86.0    19.0    5.0 7

Beispiel 3: Ersetzen Sie NaN-Werte in allen Spalten durch Nullen

Wir können die folgende Syntax verwenden, um die NaN-Werte in jeder Spalte durch Nullen zu ersetzen:

# Ersetzen Sie NaNs durch Nullen in allen Spalten 
df = df.fillna(0)

#Dataframe anzeigen
df


        rating  points  assists rebounds
0   0.0 25.0    5.0 11
1   85.0    0.0 7.0 8
2   0.0 14.0    7.0 10
3   88.0    16.0    0.0 6
4   94.0    27.0    5.0 6
5   90.0    20.0    7.0 9
6   76.0    12.0    6.0 6
7   75.0    15.0    9.0 10
8   87.0    14.0    9.0 10
9   86.0    19.0    5.0 7

Die vollständige Dokumentation zur Funktion pandas fillna() finden Sie hier.

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: