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