Pandy: jak używać dropna() z thresh


Możesz użyć funkcji dropna() , aby usunąć wiersze z ramki DataFrame pandy, które zawierają brakujące wartości.

Możesz także użyć argumentu thresh , aby określić minimalną liczbę wartości innych niż NaN, które wiersz lub kolumna muszą być zachowane w DataFrame.

Oto najczęstsze sposoby wykorzystania argumentu progowego w praktyce:

Metoda 1: Zachowaj tylko wiersze z minimalną liczbą wartości innych niż NaN

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

Metoda 2: Zachowaj tylko wiersze z minimalnym procentem wartości innych niż NaN

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

Metoda 3: Zachowaj tylko kolumny z minimalną liczbą wartości innych niż NaN

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

Metoda 4: Zachowaj tylko kolumny z minimalnym procentem wartości innych niż NaN

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

Poniższe przykłady pokazują, jak w praktyce używać każdej metody z następującą ramką DataFrame pand:

 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

Przykład 1: Zachowaj tylko wiersze z minimalną liczbą wartości innych niż NaN

Możemy użyć następującej składni, aby zachować w ramce DataFrame tylko wiersze, które mają co najmniej 2 wartości inne niż NaN:

 #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

Należy zauważyć, że wiersz na pozycji indeksu 1 został usunięty, ponieważ w całym wierszu zawierał tylko jedną wartość inną niż NaN.

Przykład 2: Zachowaj tylko wiersze z minimalnym procentem wartości innych niż NaN

Możemy użyć następującej składni, aby zachować tylko te wiersze w ramce danych, które mają co najmniej 70% wartości innych niż NaN:

 #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

Należy zauważyć, że wiersze na pozycjach indeksowych 1 i 7 zostały usunięte, ponieważ wiersze te nie zawierały co najmniej 70% wartości jako wartości inne niż NaN.

Przykład 3: Zachowaj tylko kolumny z minimalną liczbą wartości innych niż NaN

Możemy użyć następującej składni, aby zachować tylko te kolumny w ramce danych, które mają co najmniej 6 wartości innych niż NaN:

 #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

Należy pamiętać, że kolumna „asysty” została usunięta, ponieważ nie zawierała ona w kolumnie co najmniej 6 wartości innych niż NaN.

Przykład 4: Zachowaj tylko kolumny z minimalnym procentem wartości innych niż NaN

Możemy zastosować następującą składnię, aby zachować w ramce DataFrame tylko te kolumny, które mają co najmniej 70% wartości innych niż NaN:

 #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

Należy zauważyć, że kolumna „wsparcie” została usunięta, ponieważ nie zawierała ona co najmniej 70% wartości innych niż NaN.

Uwaga : pełną dokumentację funkcji pandy dropna() można znaleźć tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w pandach:

Pandy: Jak zresetować indeks po użyciu dropna()
Pandy: jak używać dropna() z określonymi kolumnami
Pandy: Jak usuwać wiersze na podstawie wielu warunków

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *