สมมติว่าคุณมี DataFrame ที่มีแถวซ้ำกัน และต้องการลบแถวซ้ำแถวแรก (เก็บแถวสุดท้ายไว้)
วิธีแก้ปัญหา
- สร้าง DataFrame ที่มีข้อมูลซ้ำ
- ใช้
df.drop_duplicates(subset=['Id', 'Age'], keep='last')
ตัวอย่างโค้ด
import pandas as pd
df = pd.DataFrame({'Id': [1, 2, 3, 4, 5, 6, 2, 7, 3, 9, 10],
'Age': [12, 13, 14, 13, 14, 12, 13, 16, 14, 15, 14]})
print("DataFrame ต้นฉบับ:\n", df)
# ลบแถวซ้ำ โดยเก็บแถวสุดท้าย (keep='last')
df = df.drop_duplicates(subset=['Id', 'Age'], keep='last')
print("\nDataFrame หลังลบแถวซ้ำแถวแรก:")
print(df)
ผลลัพธ์
DataFrame ต้นฉบับ:
Id Age
0 1 12
1 2 13
2 3 14
3 4 13
4 5 14
5 6 12
6 2 13
7 7 16
8 3 14
9 9 15
10 10 14
DataFrame หลังลบแถวซ้ำแถวแรก:
Id Age
0 1 12
3 4 13
4 5 14
5 6 12
6 2 13
7 7 16
8 3 14
9 9 15
10 10 14
คำอธิบาย:
subset=['Id', 'Age']: ตรวจสอบค่าซ้ำจากคอลัมน์ Id และ Age ร่วมกันkeep='last': เก็บแถวสุดท้ายของกลุ่มที่ซ้ำกัน ลบแถวแรกๆ ออกkeep='first'(default): เก็บแถวแรก ลบแถวต่อไปkeep=False: ลบแถวที่ซ้ำทั้งหมดทิ้ง