Pandas: so ersetzen sie nan-werte durch eine zeichenfolge


Sie können die folgenden Methoden verwenden, um NaN-Werte durch Zeichenfolgen in einem Pandas-DataFrame zu ersetzen:

Methode 1: Ersetzen Sie NaN-Werte im gesamten DataFrame durch eine Zeichenfolge

 df. fillna ('', inplace= True )

Methode 2: Ersetzen Sie NaN-Werte in bestimmten Spalten durch eine Zeichenfolge

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

Methode 3: Ersetzen Sie NaN-Werte durch eine Zeichenfolge in einer Spalte

 df. col1 = df. col1 . fillna ('')

Die folgenden Beispiele zeigen, wie jede Methode mit dem folgenden Pandas DataFrame verwendet wird:

 import pandas as pd
import numpy as np

#create DataFrame with some NaN values
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points ': [np.nan, 11, 7, 7, 8, 6, 14, 15],
                   ' assists ': [5, np.nan, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, np.nan, 6, 5, 9, np.nan]})

#view DataFrame
df

team points assists rebounds
0 A NaN 5.0 11.0
1 A 11.0 NaN 8.0
2 A 7.0 7.0 10.0
3 A 7.0 9.0 NaN
4 B 8.0 12.0 6.0
5 B 6.0 9.0 5.0
6 B 14.0 9.0 9.0
7 B 15.0 4.0 NaN

Methode 1: Ersetzen Sie NaN-Werte im gesamten DataFrame durch eine Zeichenfolge

Der folgende Code zeigt, wie jeder NaN-Wert in einem gesamten DataFrame durch eine leere Zeichenfolge ersetzt wird:

 #replace NaN values in all columns with empty string
df. fillna ('', inplace= True )

#view updated DataFrame
df

	team points assists rebounds
0 A 5.0 11.0
1 A 11.0 8.0
2 A 7.0 7.0 10.0
3 A 7.0 9.0	
4 B 8.0 12.0 6.0
5 B 6.0 9.0 5.0
6 B 14.0 9.0 9.0
7B 15.0 4.0	

Beachten Sie, dass jeder NaN-Wert in jeder Spalte durch eine leere Zeichenfolge ersetzt wurde.

Methode 2: Ersetzen Sie NaN-Werte in bestimmten Spalten durch eine Zeichenfolge

Der folgende Code zeigt, wie man NaN-Werte in bestimmten Spalten durch eine bestimmte Zeichenfolge ersetzt:

 #replace NaN values in 'points' and 'rebounds' columns with 'none'
df[[' points ', ' rebounds ']] = df[[' points ', ' rebounds ']]. fillna (' none ')

#view updated DataFrame
df

        team points assists rebounds
0 A none 5.0 11.0
1 A 11.0 NaN 8.0
2 A 7.0 7.0 10.0
3 A 7.0 9.0 none
4 B 8.0 12.0 6.0
5 B 6.0 9.0 5.0
6 B 14.0 9.0 9.0
7 B 15.0 4.0 none	

Beachten Sie, dass die NaN-Werte in den Spalten „Punkte“ und „Rebounds“ durch die Zeichenfolge „none“ ersetzt wurden, die NaN-Werte in der Spalte „Assists“ jedoch unverändert geblieben sind.

Methode 3: Ersetzen Sie NaN-Werte durch eine Zeichenfolge in einer Spalte

Der folgende Code zeigt, wie man NaN-Werte in einer Spalte durch eine bestimmte Zeichenfolge ersetzt:

 #replace NaN values in 'points' column with 'zero'
df. points = df. points . fillna (' zero ')

#view updated DataFrame
df

	team points assists rebounds
0 To zero 5.0 11.0
1 A 11.0 NaN 8.0
2 A 7.0 7.0 10.0
3 A 7.0 9.0 NaN
4 B 8.0 12.0 6.0
5 B 6.0 9.0 5.0
6 B 14.0 9.0 9.0
7 B 15.0 4.0 NaN	

Beachten Sie, dass der NaN-Wert in der Spalte „Punkte“ durch die Zeichenfolge „Null“ ersetzt wurde, die NaN-Werte in den Spalten „Assists“ und „Rebounds“ jedoch unverändert blieben.

Zusätzliche Ressourcen

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

Pandas: So ersetzen Sie Werte in einer Spalte basierend auf der Bedingung
Pandas: So ersetzen Sie NaN-Werte durch Null
Pandas: So zählen Sie fehlende Werte in DataFrame

Einen Kommentar hinzufügen

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