Pandas: so füllen sie nan-werte mit werten aus einer anderen spalte


Sie können die folgende Syntax verwenden, um NaN-Werte in einer Spalte eines Pandas-DataFrames durch Werte in einer anderen Spalte zu ersetzen:

 df[' col1 '] = df[' col1 ']. fillna (df[' col2 '])

Diese spezielle Syntax ersetzt alle NaN-Werte in Spalte1 durch die entsprechenden Werte in Spalte2 .

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: Fehlende Werte durch eine andere Spalte ersetzen

Nehmen wir an, wir haben den folgenden Pandas-DataFrame mit einigen fehlenden Werten:

 import numpy as np
import pandas as pd

#create DataFrame with some NaN values
df = pd. DataFrame ({' team1 ': ['Mavs', np.nan, 'Nets', 'Hawks', np.nan, 'Jazz'],
                   ' team2 ': ['Spurs', 'Lakers', 'Kings', 'Celtics', 'Heat', 'Magic']})

#view DataFrame
df

        team1 team2
0 Mavs Spurs
1 NaN Lakers
2 Nets Kings
3 Hawks Celtics
4 NaN Heat
5 Jazz Magic

Beachten Sie, dass die Spalte team1 zwei NaN-Werte enthält.

Wir können die Funktion fillna() verwenden, um die NaN-Werte in der Spalte team1 mit dem entsprechenden Wert in der Spalte team2 zu füllen:

 #fill NaNs in team1 column with corresponding values in team2 column
df[' team1 '] = df[' team1 ']. fillna (df[' team2 '])

#view updated DataFrame
df

        team1 team2
0 Mavs Spurs
1 Lakers Lakers
2 Nets Kings
3 Hawks Celtics
4 Heat Heat
5 Jazz Magic

Beachten Sie, dass die beiden NaN-Werte in der Spalte „ team1“ durch die entsprechenden Werte in der Spalte „ team2“ ersetzt wurden.

Hinweis : Die vollständige Online-Dokumentation für die Funktion fillna() finden Sie hier .

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in Pandas ausgeführt werden:

So zählen Sie fehlende Werte in Pandas
So löschen Sie Zeilen mit NaN-Werten in Pandas
So löschen Sie Zeilen, die einen bestimmten Wert in Pandas enthalten

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert