Bagaimana cara menggunakan "bukankah null"? di pandas (dengan contoh)
Anda dapat menggunakan fungsi pandas notnull() untuk menguji apakah elemen pandas DataFrame adalah null atau tidak.
Jika suatu elemen sama dengan NaN atau None, maka fungsinya akan mengembalikan False .
Jika tidak, fungsi tersebut akan mengembalikan True .
Berikut beberapa cara umum untuk menggunakan fungsi ini dalam praktik:
Metode 1: Filter baris tanpa nilai nol di kolom mana pun
df[df. notnull (). all ( 1 )]
Metode 2: Filter baris tanpa nilai nol di kolom tertentu
df[df[[' this_column ']]. notnull (). all ( 1 )]
Metode 3: Hitung jumlah nilai bukan nol di setiap kolom
df. notnull (). sum ()
Metode 4: Hitung jumlah nilai bukan nol di seluruh DataFrame
df. notnull (). sum (). sum ()
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, 22, 19, 14, 14, 11, 20, np.nan], ' assists ': [5, np.nan, 7, 9, 12, 9, 9, np.nan], ' rebounds ': [11, 8, 10, 6, 6, 5, np.nan, 12]}) #view DataFrame print (df) team points assists rebounds 0 A 18.0 5.0 11.0 1 B 22.0 NaN 8.0 2 C 19.0 7.0 10.0 3D 14.0 9.0 6.0 4 E 14.0 12.0 6.0 5 F 11.0 9.0 5.0 6G 20.0 9.0 NaN 7 H NaN NaN 12.0
Contoh 1: Filter baris tanpa nilai null di kolom mana pun
Kode berikut menunjukkan cara memfilter DataFrame untuk hanya menampilkan baris tanpa nilai null di kolom mana pun:
#filter for rows with no null values in any column
df[df. notnull (). all ( 1 )]
team points assists rebounds
0 A 18.0 5.0 11.0
2 C 19.0 7.0 10.0
3D 14.0 9.0 6.0
4 E 14.0 12.0 6.0
5 F 11.0 9.0 5.0
Perhatikan bahwa setiap baris dalam DataFrame yang difilter ini tidak memiliki nilai nol di kolom mana pun.
Contoh 2: Filter baris tanpa nilai null di kolom tertentu
Kode berikut menunjukkan cara memfilter DataFrame untuk hanya menampilkan baris tanpa nilai null di kolom pembantu :
#filter for rows with no null values in the 'assists' column
df[df[[' assists ']]. notnull (). all ( 1 )]
team points assists rebounds
0 A 18.0 5.0 11.0
2 C 19.0 7.0 10.0
3D 14.0 9.0 6.0
4 E 14.0 12.0 6.0
5 F 11.0 9.0 5.0
6G 20.0 9.0 NaN
Perhatikan bahwa setiap baris dalam DataFrame yang difilter ini tidak memiliki nilai null di kolom Helper .
Contoh 3: Hitung jumlah nilai bukan nol pada setiap kolom
Kode berikut menunjukkan cara menghitung jumlah nilai bukan nol di setiap kolom DataFrame:
#count number of non-null values in each column
df. notnull (). sum ()
team 8
points 7
assists 6
rebounds 7
dtype: int64
Dari hasilnya kita dapat melihat:
- Kolom tim memiliki 8 nilai bukan nol.
- Kolom poin memiliki 7 nilai bukan nol.
- Kolom bantuan memiliki 6 nilai bukan nol.
- Kolom pentalan memiliki 7 nilai bukan nol.
Contoh 4: Hitung jumlah nilai bukan nol di seluruh DataFrame
Kode berikut menunjukkan cara menghitung jumlah nilai bukan nol di seluruh DataFrame:
#count number of non-null values in entire DataFrame
df. notnull (). sum (). sum ()
28
Dari outputnya terlihat ada 28 nilai bukan nol di seluruh DataFrame.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi pemfilteran umum lainnya di panda:
Cara memfilter Pandas DataFrame berdasarkan nilai kolom
Cara memfilter “Tidak mengandung” di Pandas
Cara memfilter Pandas DataFrame pada berbagai kondisi