วิธีเลือกแถวที่ไม่มีค่า nan ใน pandas


คุณสามารถใช้วิธีการต่อไปนี้เพื่อเลือกแถวที่ไม่มีค่า NaN ในแพนด้า:

วิธีที่ 1: เลือกแถวที่ไม่มีค่า NaN ในทุกคอลัมน์

 df[~df. isnull (). any (axis= 1 )]

วิธีที่ 2: เลือกแถวที่ไม่มีค่า NaN ในคอลัมน์เฉพาะ

 df[~df[' this_column ']. isna ()]

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับ Pandas DataFrame ต่อไปนี้:

 import pandas as pd
import numpy as np

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G'],
                   ' points ': [np.nan, 12, 15, 25, np.nan, 22, 30],
                   ' assists ': [4, np.nan, 5, 9, 12, 14, 10]})

#view DataFrame
print (df)

  team points assists
0 A NaN 4.0
1 B 12.0 NaN
2C 15.0 5.0
3D 25.0 9.0
4 E NaN 12.0
5F 22.0 14.0
6G 30.0 10.0

ตัวอย่างที่ 1: เลือกแถวที่ไม่มีค่า NaN ในทุกคอลัมน์

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อเลือกแถวที่ไม่มีค่า NaN ในแต่ละคอลัมน์ของ DataFrame:

 #create new DataFrame that only contains rows without NaNs
no_nans = df[~df. isnull (). any (axis= 1 )]

#view results
print (no_nans)

  team points assists
2C 15.0 5.0
3D 25.0 9.0
5F 22.0 14.0
6G 30.0 10.0   

โปรดทราบว่าแต่ละแถวของ DataFrame ที่เป็นผลลัพธ์ไม่มีค่า NaN ใด ๆ ในคอลัมน์ใด ๆ

ตัวอย่างที่ 2: เลือกแถวที่ไม่มีค่า NaN ในคอลัมน์เฉพาะ

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อเลือกแถวที่ไม่มีค่า NaN ในคอลัมน์ จุด ของ DataFrame:

 #create new DataFrame that only contains rows without NaNs in points column
no_points_nans = df[~df[' points ']. isna ()]

#view results
print (no_points_nans)

  team points assists
1 B 12.0 NaN
2C 15.0 5.0
3D 25.0 9.0
5F 22.0 14.0
6G 30.0 10.0

โปรดทราบว่าแต่ละแถวของ DataFrame ที่เป็นผลลัพธ์ไม่มีค่า NaN ในคอลัมน์ จุด

มีแถวที่มีค่า NaN ในคอลัมน์ Assists แต่แถวนั้นยังคงอยู่ใน DataFrame เนื่องจากค่าในคอลัมน์ Points ของแถวนั้นไม่ใช่ NaN

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ในแพนด้า:

Pandas: วิธีลบแถวที่มีค่า NaN
Pandas: วิธีแทนที่ค่า NaN ด้วยสตริง
Pandas: วิธีเติมค่า NaN ด้วยค่าเฉลี่ย

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

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