Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python Pandas - ตรวจสอบค่า Null ด้วย notnull()

เมธอด notnull() (หรือ .notna()) ใช้ตรวจสอบค่าที่ ไม่ใช่ Null/NaN** ใน DataFrame คืนค่าเป็น Boolean (True/False) ขนาดเท่าเดิม True = ไม่ใช่ Null, False = เป็น Null

ขั้นตอนการทำงาน

1. โหลดข้อมูลจาก CSV ที่มีค่า NaN

import pandas as pd

dataFrame = pd.read_csv(r"C:\Users\amit_\Desktop\CarRecords.csv")

2. ตรวจสอบค่า Not Null

res = dataFrame.notnull()
print(res)

3. (ตัวเลือก) ลบแถวที่มีค่า Null

dataFrame = dataFrame.dropna()
print(dataFrame)

โค้ดตัวอย่างสมบูรณ์

import pandas as pd

# อ่านไฟล์ CSV
dataFrame = pd.read_csv(r"C:\Users\amit_\Desktop\CarRecords.csv")
print("DataFrame:\n", dataFrame)

# ขนาดข้อมูล
print("\nRows, Cols:", dataFrame.shape)

# ตรวจสอบ Not Null
res = dataFrame.notnull()
print("\nNotNull check (True=มีค่า, False=NaN):\n", res)

# ลบแถวที่มี NaN
dataFrame = dataFrame.dropna()
print("\nDataFrame หลังลบ NaN:\n", dataFrame)
print("\nขนาดใหม่:", dataFrame.shape)

ผลลัพธ์ตัวอย่าง

DataFrame:
        Car      Place  UnitsSold
0      Audi  Bangalore       80.0
1   Porsche     Mumbai      110.0
2  RollsRoyce      Pune        NaN
3      BMW     Delhi      200.0
4  Mercedes  Hyderabad       80.0
5  Lamborghini Chandigarh      NaN
6      Audi     Mumbai        NaN
7  Mercedes      Pune      120.0
8  Lamborghini   Delhi      100.0

NotNull check:
     Car  Place  UnitsSold
0   True   True       True
1   True   True       True
2   True   True      False
3   True   True       True
4   True   True       True
5   True   True      False
6   True   True      False
7   True   True       True
8   True   True       True

DataFrame หลังลบ NaN:
        Car      Place  UnitsSold
0      Audi  Bangalore       80.0
1   Porsche     Mumbai      110.0
3      BMW     Delhi      200.0
4  Mercedes  Hyderabad       80.0
7  Mercedes      Pune      120.0
8  Lamborghini   Delhi      100.0

เมธอดเกี่ยวข้อง

เมธอดคำอธิบาย
notnull() / notna()True ถ้าไม่ใช่ NaN
isnull() / isna()True ถ้าเป็น NaN
dropna()ลบแถว/คอลัมน์ที่มี NaN
fillna()เติมค่า NaN ด้วยค่าที่กำหนด

เคล็ดลับ

  • ใช้ dataFrame.notnull().all(axis=1) หาแถวที่ไม่มี NaN เลย
  • ใช้ dataFrame.isnull().sum() นับจำนวน NaN ต่อคอลัมน์
  • notna() เป็น alias ใหม่ แนะนำให้ใช้แทน notnull()