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

Tambahkan komentar

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