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

Python - แสดงเฉพาะค่าที่ไม่ซ้ำใน DataFrame (Remove Duplicates)

ใช้ ~DataFrame.duplicated('column') เพื่อกรองเฉพาะแถวแรกของแต่ละค่าที่ซ้ำ (Keep First)

ตัวอย่างโค้ด

import pandas as pd

dataFrame = pd.DataFrame({
    "Student": ['Jack', 'Robin', 'Ted', 'Robin', 'Scarlett', 'Kat', 'Ted'],
    "Result": ['Pass', 'Fail', 'Pass', 'Fail', 'Pass', 'Pass', 'Pass']
})

print("DataFrame ...\n", dataFrame)

# Keep first occurrence of each Student
res = dataFrame[~dataFrame.duplicated('Student')]

print("\nDataFrame after removing duplicates ...\n", res)

ผลลัพธ์

DataFrame after removing duplicates ...
  Result   Student
0   Pass     Jack
1   Fail    Robin
2   Pass      Ted
4   Pass  Scarlett
5   Pass      Kat

คำอธิบาย

  • duplicated('Student') คืน Boolean Series: True = Duplicate (ยกเว้นแถวแรก)
  • ~ (Tilde) = Logical NOT -> True = Not Duplicate (แถวแรกของแต่ละค่า)
  • df[boolean_mask] กรองแถว
  • เทียบเท่า: df.drop_duplicates(subset='Student', keep='first')