Pandas: so verwenden sie dropna() mit thresh


Sie können die Funktion dropna() verwenden, um Zeilen aus einem Pandas-DataFrame zu entfernen, die fehlende Werte enthalten.

Sie können das Argument thresh auch verwenden, um die Mindestanzahl an Nicht-NaN-Werten anzugeben, die eine Zeile oder Spalte haben muss, um im DataFrame beibehalten zu werden.

Hier sind die gebräuchlichsten Möglichkeiten, das Schwellenwertargument in der Praxis zu verwenden:

Methode 1: Behalten Sie nur Zeilen mit einer Mindestanzahl an Nicht-NaN-Werten bei

 #only keep rows with at least 2 non-NaN values
df. dropna (thresh= 2 )

Methode 2: Behalten Sie nur Zeilen mit einem Mindestprozentsatz an Nicht-NaN-Werten bei

 #only keep rows with at least 70% non-NaN values
df. dropna (thresh= 0.7 * len (df. columns ))

Methode 3: Behalten Sie nur Spalten mit einer Mindestanzahl an Nicht-NaN-Werten bei

 #only keep columns with at least 6 non-NaN values
df. dropna (thresh= 6 ,axis= 1 )

Methode 4: Behalten Sie nur Spalten mit einem Mindestprozentsatz an Nicht-NaN-Werten bei

 #only keep columns with at least 70% non-NaN values
df. dropna (thresh= 0.7 * len (df), axis= 1 )

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', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, np.nan, 19, 14, 14, 11, 20, np.nan],
                   ' assists ': [5, np.nan, np.nan, 9, np.nan, 9, 9, 4],
                   ' rebounds ': [11, np.nan, 10, 6, 6, 5, 9, np.nan]})

#view DataFrame
print (df)

  team points assists rebounds
0 A 18.0 5.0 11.0
1 B NaN NaN NaN
2 C 19.0 NaN 10.0
3D 14.0 9.0 6.0
4 E 14.0 NaN 6.0
5 F 11.0 9.0 5.0
6G 20.0 9.0 9.0
7H NaN 4.0 NaN

Beispiel 1: Behalten Sie nur Zeilen mit einer Mindestanzahl an Nicht-NaN-Werten bei

Wir können die folgende Syntax verwenden, um nur Zeilen im DataFrame zu behalten, die mindestens zwei Nicht-NaN-Werte haben:

 #only keep rows with at least 2 non-NaN values
df. dropna (thresh= 2 )

	team points assists rebounds
0 A 18.0 5.0 11.0
2 C 19.0 NaN 10.0
3D 14.0 9.0 6.0
4 E 14.0 NaN 6.0
5 F 11.0 9.0 5.0
6G 20.0 9.0 9.0
7H NaN 4.0 NaN

Beachten Sie, dass die Zeile an Indexposition 1 entfernt wurde, da sie in der gesamten Zeile nur einen Nicht-NaN-Wert hatte.

Beispiel 2: Behalten Sie nur Zeilen mit einem Mindestprozentsatz an Nicht-NaN-Werten bei

Wir können die folgende Syntax verwenden, um nur die Zeilen im DataFrame zu behalten, die mindestens 70 % Nicht-NaN-Werte haben:

 #only keep rows with at least 70% non-NaN values
df. dropna (thresh= 0.7 * len (df. columns ))

        team points assists rebounds
0 A 18.0 5.0 11.0
2 C 19.0 NaN 10.0
3D 14.0 9.0 6.0
4 E 14.0 NaN 6.0
5 F 11.0 9.0 5.0
6G 20.0 9.0 9.0

Beachten Sie, dass die Zeilen an den Indexpositionen 1 und 7 entfernt wurden, da diese Zeilen nicht mindestens 70 % der Werte als Nicht-NaN-Werte enthielten.

Beispiel 3: Behalten Sie nur Spalten mit einer Mindestanzahl an Nicht-NaN-Werten bei

Wir können die folgende Syntax verwenden, um nur die Spalten im DataFrame zu behalten, die mindestens 6 Nicht-NaN-Werte haben:

 #only keep columns with at least 6 non-NaN values
df. dropna (thresh= 6 ,axis= 1 )

        team points rebounds
0 A 18.0 11.0
1 B NaN NaN
2 C 19.0 10.0
3D 14.0 6.0
4E 14.0 6.0
5 F 11.0 5.0
6G 20.0 9.0
7 H NaN NaN

Beachten Sie, dass die Spalte „Assists“ entfernt wurde, da diese Spalte nicht mindestens 6 Nicht-NaN-Werte in der Spalte enthielt.

Beispiel 4: Behalten Sie nur Spalten mit einem Mindestprozentsatz an Nicht-NaN-Werten bei

Wir können die folgende Syntax verwenden, um nur die Spalten im DataFrame zu behalten, die mindestens 70 % Nicht-NaN-Werte haben:

 #only keep columns with at least 70% non-NaN values
df. dropna (thresh= 0.7 * len (df), axis= 1 )

        team points rebounds
0 A 18.0 11.0
1 B NaN NaN
2 C 19.0 10.0
3D 14.0 6.0
4E 14.0 6.0
5 F 11.0 5.0
6G 20.0 9.0
7 H NaN NaN

Beachten Sie, dass die Spalte „Unterstützung“ entfernt wurde, da diese Spalte nicht mindestens 70 % Nicht-NaN-Werte enthielt.

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

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie andere häufige Aufgaben in Pandas ausgeführt werden:

Pandas: So setzen Sie den Index nach der Verwendung von dropna() zurück
Pandas: So verwenden Sie dropna() mit bestimmten Spalten
Pandas: So löschen Sie Zeilen basierend auf mehreren Bedingungen

Einen Kommentar hinzufügen

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