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

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *