ใช้ ~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')