Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Xóa hàng trùng lặp đầu tiên (keep last) trong DataFrame Python

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=False xóa tất cả trùng lặp.