Pandas: วิธีใช้ dropna() กับคอลัมน์เฉพาะ


คุณสามารถใช้ฟังก์ชัน dropna() กับอาร์กิวเมนต์เซ็ต ย่อย เพื่อลบแถวออกจาก Pandas DataFrame ที่มีค่าที่ขาดหายไปในคอลัมน์เฉพาะ

ต่อไปนี้เป็นวิธีทั่วไปในการใช้ฟีเจอร์นี้ในทางปฏิบัติ:

วิธีที่ 1: ลบแถวที่มีค่าหายไปในคอลัมน์เฉพาะ

 df. dropna (subset = [' column1 '], inplace= True )

วิธีที่ 2: ลบแถวที่มีค่าหายไปในคอลัมน์ใดคอลัมน์หนึ่งจากหลายคอลัมน์

 df. dropna (subset = [' column1 ', ' column2 ', ' column3 '], inplace= True )

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับ 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, np.nan, np.nan, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, np.nan]})

#view DataFrame
print (df)

  team points assists rebounds
0 A 18.0 5.0 11.0
1 B NaN NaN 8.0
2 C 19.0 NaN 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 9.0
7H 28.0 4.0 NaN

ตัวอย่างที่ 1: ลบแถวที่มีค่าหายไปในคอลัมน์ใดคอลัมน์หนึ่ง

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อลบแถวที่มีค่าหายไปในคอลัมน์ “ความช่วยเหลือ”:

 #drop rows with missing values in 'assists' column
df. dropna (subset = [' assists '], inplace= True )

#view updated DataFrame
print (df)

  team points assists rebounds
0 A 18.0 5.0 11.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 9.0
7H 28.0 4.0 NaN

โปรดทราบว่าทั้งสองแถวที่มีค่าหายไปในคอลัมน์ “Assists” ได้ถูกลบออกจาก DataFrame แล้ว

โปรดทราบว่าแถวสุดท้ายของ DataFrame จะถูกเก็บไว้แม้ว่าจะมีค่าที่หายไป เนื่องจากค่าที่หายไปไม่อยู่ในคอลัมน์ “helps”

ตัวอย่างที่ 2: ลบแถวที่มีค่าหายไปในคอลัมน์ใดคอลัมน์หนึ่งจากหลายคอลัมน์

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

 #drop rows with missing values in 'points' or 'rebounds' column
df. dropna (subset = [' points ', ' rebounds '], inplace= True )

#view updated DataFrame
print (df)

  team points assists rebounds
0 A 18.0 5.0 11.0
2 C 19.0 NaN 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 9.0

โปรดทราบว่าสองแถวที่มีค่าหายไปในคอลัมน์ “จุด” หรือ “ตีกลับ” ได้ถูกลบออกจาก DataFrame

หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับฟังก์ชัน pandas dropna() ได้ที่นี่

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

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

Pandas: วิธีรีเซ็ตดัชนีหลังจากใช้ dropna ()
Pandas: วิธีลบคอลัมน์ที่มีค่า NaN
Pandas: วิธีลบแถวตามเงื่อนไขต่างๆ

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

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