วิธีการใช้งาน “ไม่เป็นโมฆะ”? ในแพนด้า (พร้อมตัวอย่าง)


คุณสามารถใช้ฟังก์ชัน 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 ในหลายเงื่อนไข

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *