Pandas: so entfernen sie spalten mit nan-werten


Sie können die folgenden Methoden verwenden, um Spalten aus einem Pandas-DataFrame mit NaN-Werten zu entfernen:

Methode 1: Spalten mit einem beliebigen NaN-Wert entfernen

 df = df. dropna (axis= 1 )

Methode 2: Spalten mit allen NaN-Werten entfernen

 df = df. dropna (axis= 1 ,how=' all ')

Methode 3: Spalten mit der minimalen Anzahl an NaN-Werten entfernen

 df = df. dropna (axis= 1 ,thresh= 2 )

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

 import pandas as pd
import numpy as np

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B'],
                   ' position ': [np.nan, 'G', 'F', 'F', 'C', 'G'],
                   ' points ': [11, 28, 10, 26, 6, 25],
                   ' rebounds ': [np.nan, np.nan, np.nan, np.nan, np.nan, np.nan]})

#view DataFrame
print (df)

  team position points rebounds
0 A NaN 11 NaN
1 AG 28 NaN
2 AF 10 NaN
3 BF 26 NaN
4 BC 6 NaN
5 BG 25 NaN

Beispiel 1: Spalten mit NaN-Werten entfernen

Der folgende Code zeigt, wie Spalten mit NaN-Werten entfernt werden:

 #drop columns with any NaN values
df = df. dropna (axis= 1 )

#view updated DataFrame
print (df)

  team points
0 to 11
1 to 28
2 to 10
3 B 26
4 B 6
5 B 25

Beachten Sie, dass die Spalten „Position“ und „Rebounds“ entfernt wurden, da beide mindestens einen NaN-Wert hatten.

Beispiel 2: Spalten mit allen NaN-Werten entfernen

Der folgende Code zeigt, wie Spalten mit allen NaN-Werten entfernt werden:

 #drop columns with all NaN values
df = df. dropna (axis= 1 ,how=' all ')

#view updated DataFrame
print (df)

  team position points
0 A NaN 11
1 AG 28
2 AF10
3 BF 26
4 BC 6
5 BG 25

Beachten Sie, dass die Spalte „Bounces“ entfernt wurde, da sie die einzige Spalte mit allen NaN-Werten war.

Beispiel 3: Spalten mit der Mindestanzahl an NaN-Werten entfernen

Der folgende Code zeigt, wie Spalten mit zwei oder mehr NaN-Werten entfernt werden:

 #drop columns with at least two NaN values
df = df. dropna (axis= 1 ,thresh= 2 )

#view updated DataFrame
print (df)

  team position points
0 A NaN 11
1 AG 28
2 AF10
3 BF 26
4 BC 6
5 BG 25

Beachten Sie, dass die Spalte „Bounces“ entfernt wurde, da sie die einzige Spalte mit mindestens zwei NaN-Werten war.

Hinweis : Die vollständige Dokumentation der Funktion dropna() in Pandas finden Sie hier .

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in Pandas ausführen:

So entfernen Sie die erste Spalte in Pandas
So entfernen Sie doppelte Spalten in Pandas
So löschen Sie alle Spalten außer einigen in Pandas

Einen Kommentar hinzufügen

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