วิธีเลือกแถวที่มีค่า nan ใน pandas (พร้อมตัวอย่าง)
คุณสามารถใช้วิธีการต่อไปนี้เพื่อเลือกแถวที่มีค่า NaN ในแพนด้า:
วิธีที่ 1: เลือกแถวที่มีค่า NaN ในคอลัมน์ใดก็ได้
df. loc [df. isnull (). any (axis= 1 )]
วิธีที่ 2: เลือกแถวที่มีค่า NaN ในคอลัมน์เฉพาะ
df. loc [df[' this_column ']. isnull ()]
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับ 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, np.NaN, 19, 14, 14, 11, 20, 28], ' assists ': [5, 7, 7, 9, np.NaN, 9, 9, np.NaN], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, np.NaN]}) #view DataFrame print (df)
ตัวอย่างที่ 1: เลือกแถวที่มีค่า NaN ในคอลัมน์ใดก็ได้
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อเลือกแถวที่มีค่า NaN ในคอลัมน์ใดก็ได้ของ DataFrame:
#create new DataFrame that only contains rows with NaNs in any column df_nan_rows = df. loc [df. isnull (). any (axis= 1 )] #view results print (df_nan_rows) team points assists rebounds 1 B NaN 7.0 8.0 4 E 14.0 NaN 6.0 7 H 28.0 NaN NaN
โปรดทราบว่าแต่ละแถวของ DataFrame ผลลัพธ์จะมีค่า NaN อยู่ในคอลัมน์อย่างน้อยหนึ่งคอลัมน์
ตัวอย่างที่ 2: เลือกแถวที่มีค่า NaN ในคอลัมน์เฉพาะ
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อเลือกแถวที่มีค่า NaN ในคอลัมน์ ตัวช่วย ของ DataFrame:
#create new DataFrame that only contains rows with NaNs in assists column df_assists_nans = df. loc [df[' assists ']. isnull ()] #view results print (df_assists_nans) team points assists rebounds 4 E 14.0 NaN 6.0 7 H 28.0 NaN NaN
โปรดทราบว่าแต่ละแถวของ DataFrame ผลลัพธ์จะมีค่า NaN ในคอลัมน์ ตัวช่วย
มีแถวที่มีค่า NaN ในคอลัมน์ จุด แต่แถวนี้ไม่ได้ถูกเลือก เนื่องจากไม่มีค่า NaN ในคอลัมน์ ช่วยเหลือ ด้วย
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ในแพนด้า:
Pandas: วิธีลบแถวที่มีค่า NaN
Pandas: วิธีแทนที่ค่า NaN ด้วยสตริง
Pandas: วิธีเติมค่า NaN ด้วยค่าเฉลี่ย