วิธีการใช้งาน “ไม่เป็นโมฆะ”? ในแพนด้า (พร้อมตัวอย่าง)
คุณสามารถใช้ฟังก์ชัน pandas notnull() เพื่อทดสอบว่าองค์ประกอบของ Pandas DataFrame นั้นเป็นโมฆะหรือไม่
หากองค์ประกอบเท่ากับ NaN หรือ None ฟังก์ชันจะส่งคืนค่า False
มิฉะนั้นฟังก์ชันจะส่งกลับ True
ต่อไปนี้เป็นวิธีทั่วไปหลายประการในการใช้ฟังก์ชันนี้ในทางปฏิบัติ:
วิธีที่ 1: กรองแถวที่ไม่มีค่า Null ในคอลัมน์ใดก็ได้
df[df. notnull (). all ( 1 )]
วิธีที่ 2: กรองแถวที่ไม่มีค่า Null ในคอลัมน์เฉพาะ
df[df[[' this_column ']]. notnull (). all ( 1 )]
วิธีที่ 3: นับจำนวนค่าที่ไม่ใช่ศูนย์ในแต่ละคอลัมน์
df. notnull (). sum ()
วิธีที่ 4: นับจำนวนค่าที่ไม่ใช่ศูนย์ใน DataFrame ทั้งหมด
df. notnull (). sum (). sum ()
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับ Pandas DataFrame ต่อไปนี้:
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
ตัวอย่างที่ 1: กรองแถวที่ไม่มีค่า Null ในคอลัมน์ใดๆ
รหัสต่อไปนี้แสดงวิธีการกรอง DataFrame ให้แสดงเฉพาะแถวที่ไม่มีค่า Null ในคอลัมน์ใด ๆ :
#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
โปรดทราบว่าแต่ละแถวใน DataFrame ที่กรองนี้ไม่มีค่า Null ในคอลัมน์ใดๆ
ตัวอย่างที่ 2: กรองแถวที่ไม่มีค่า Null ในคอลัมน์ใดคอลัมน์หนึ่ง
รหัสต่อไปนี้แสดงวิธีการกรอง DataFrame ให้แสดงเฉพาะแถวที่ไม่มีค่า Null ในคอลัมน์ ตัวช่วย :
#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
โปรดทราบว่าแต่ละแถวใน DataFrame ที่กรองนี้ไม่มีค่าว่างในคอลัมน์ Helper
ตัวอย่างที่ 3: นับจำนวนค่าที่ไม่ใช่ศูนย์ในแต่ละคอลัมน์
รหัสต่อไปนี้แสดงวิธีการนับจำนวนค่าที่ไม่ใช่ศูนย์ในแต่ละคอลัมน์ของ DataFrame:
#count number of non-null values in each column
df. notnull (). sum ()
team 8
points 7
assists 6
rebounds 7
dtype: int64
จากผลลัพธ์เราจะเห็นได้ว่า:
- คอลัมน์ ทีม มีค่าที่ไม่ใช่ศูนย์ 8 ค่า
- คอลัมน์ คะแนน มีค่าที่ไม่เป็นศูนย์ 7 ค่า
- คอลัมน์ ช่วยเหลือ มีค่าที่ไม่ใช่ศูนย์ 6 ค่า
- คอลัมน์ ตีกลับ มีค่าที่ไม่ใช่ศูนย์ 7 ค่า
ตัวอย่างที่ 4: นับจำนวนค่าที่ไม่ใช่ศูนย์ใน DataFrame ทั้งหมด
รหัสต่อไปนี้แสดงวิธีการนับจำนวนค่าที่ไม่ใช่ศูนย์ใน DataFrame ทั้งหมด:
#count number of non-null values in entire DataFrame
df. notnull (). sum (). sum ()
28
จากผลลัพธ์เราจะเห็นได้ว่ามี 28 ค่าที่ไม่เป็นศูนย์ใน DataFrame ทั้งหมด
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการกรองทั่วไปอื่น ๆ ในแพนด้า:
วิธีกรอง Pandas DataFrame ตามค่าคอลัมน์
วิธีกรอง “ไม่มี” ใน Pandas
วิธีกรอง Pandas DataFrame ในหลายเงื่อนไข