Pandas: cara menggunakan dropna() dengan thresh
Anda dapat menggunakan fungsi dropna() untuk menghapus baris dari pandas DataFrame yang berisi nilai yang hilang.
Anda juga dapat menggunakan argumen thresh untuk menentukan jumlah minimum nilai non-NaN yang harus dipertahankan oleh sebuah baris atau kolom di DataFrame.
Berikut adalah cara paling umum untuk menggunakan argumen ambang batas dalam praktiknya:
Metode 1: Pertahankan hanya baris dengan jumlah minimum nilai non-NaN
#only keep rows with at least 2 non-NaN values df. dropna (thresh= 2 )
Metode 2: Pertahankan hanya baris dengan persentase minimum nilai non-NaN
#only keep rows with at least 70% non-NaN values df. dropna (thresh= 0.7 * len (df. columns ))
Metode 3: Pertahankan hanya kolom dengan jumlah minimum nilai non-NaN
#only keep columns with at least 6 non-NaN values df. dropna (thresh= 6 ,axis= 1 )
Metode 4: Pertahankan hanya kolom dengan persentase minimum nilai non-NaN
#only keep columns with at least 70% non-NaN values df. dropna (thresh= 0.7 * len (df), axis= 1 )
Contoh berikut menunjukkan cara menggunakan setiap metode dalam praktik dengan pandas DataFrame berikut:
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
Contoh 1: Pertahankan hanya baris dengan jumlah minimum nilai non-NaN
Kita dapat menggunakan sintaks berikut untuk hanya menyimpan baris di DataFrame yang memiliki setidaknya 2 nilai non-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
Perhatikan bahwa baris pada posisi indeks 1 telah dihapus karena hanya memiliki satu nilai non-NaN di seluruh baris.
Contoh 2: Pertahankan hanya baris dengan persentase minimum nilai non-NaN
Kita dapat menggunakan sintaks berikut untuk hanya menyimpan baris-baris tersebut di DataFrame yang memiliki setidaknya 70% nilai non-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
Perhatikan bahwa baris pada posisi indeks 1 dan 7 telah dihapus karena baris tersebut tidak berisi setidaknya 70% nilai sebagai nilai non-NaN.
Contoh 3: Pertahankan hanya kolom dengan jumlah minimum nilai non-NaN
Kita dapat menggunakan sintaks berikut untuk hanya menyimpan kolom-kolom tersebut di DataFrame yang memiliki setidaknya 6 nilai non-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
Perhatikan bahwa kolom “bantuan” telah dihapus karena kolom tersebut tidak berisi setidaknya 6 nilai non-NaN di kolom tersebut.
Contoh 4: Pertahankan hanya kolom dengan persentase minimum nilai non-NaN
Kita dapat menggunakan sintaks berikut untuk hanya menyimpan kolom-kolom tersebut di DataFrame yang memiliki setidaknya 70% nilai non-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
Perhatikan bahwa kolom “dukungan” telah dihapus karena kolom ini tidak berisi setidaknya 70% nilai non-NaN.
Catatan : Anda dapat menemukan dokumentasi lengkap fungsi pandas dropna() di sini .
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di panda:
Pandas: Cara mereset indeks setelah menggunakan dropna()
Pandas: cara menggunakan dropna() dengan kolom tertentu
Pandas: Cara menghapus baris berdasarkan berbagai kondisi