Giả sử bạn muốn loại bỏ các hàng trùng lặp dựa trên cột 'Id' và 'Age', nhưng giữ lại lần xuất hiện cuối cùng (keep='last').
Giải pháp
- Tạo DataFrame có hàng trùng lặp.
- Gọi
df.drop_duplicates(subset=['Id', 'Age'], keep='last').
Mã ví dụ
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 gốc:\n", df)
df = df.drop_duplicates(subset=['Id', 'Age'], keep='last')
print("\nSau khi xóa trùng lặp (keep last):\n", df)
Kết quả
DataFrame gốc:
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
Sau khi xóa trùng lặp (keep last):
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
Giải thích:
- Cặp (2,13) xuất hiện tại hàng 1 và 6 → giữ hàng 6 (index 6).
- Cặp (3,14) xuất hiện tại hàng 2 và 8 → giữ hàng 8.
keep='first'(mặc định) giữ lần đầu,keep=Falsexóa tất cả trùng lặp.