Xóa các bản ghi trùng lặp trong Pandas-Python

Mọi người cho em hỏi,trong Python nếu dữ liệu của em có 2 hàng y hệt nhau, làm sao để giữ lại chỉ 1 hàng duy nhất ạ.Cảm ơn mọi người đã giúp đỡ

Là thế nào nhỉ, bạn nói rõ hơn được không.

1 Like

ok, kiểu mình có 2 hàng giống y hệt A B 1 2 3 và A B 1 2 3, e chỉ muốn để lại 1 hàng thôi thì làm ntn ạ

Có 2 trường hợp nên xét:

  • 2 hàng giống nhau liên tiếp nhau. Khá đơn giản, tạo một file mới duyệt từng hàng một từ đầu đến cuối kiểm tra hàng i có giống hàng i - 1 không, nếu không giống thì ghi hàng i vào file mới.

  • 2 hàng giống nhau không liên tiếp nhau. Phức tạp hơn một ít. Cũng file mới, nhưng với từng hàng kiểm tra xem hàng i đã có trong file mới chưa, chưa có :point_right: ghi vào file mới.

Mình không rành về Pandas lắm, nên cũng không giúp bạn được nhiều. :sweat_smile: Dưới đây là code thường cho bạn tham khảo để lấy ý tưởng thôi.

Chấm 1
f = open("check.txt", 'r')
s = f.read().splitlines()
f.close()
f = open("check.txt", 'w')
i = 0
lines = len(s)
while i < lines:
	if s[i] != s[i - 1] or i == 0:
		f.write(s[i] + '\n')
	i += 1
f.close()
Chấm 2
f = open("check.txt", 'r')
s = f.read().splitlines()
f.close()
s2 = []
for line in s:
	if line not in s2:
		s2.append(line)
f = open("check.txt", 'w')
for line in s2:
	f.write(line + '\n')
f.close()
2 Likes

cảm ơn bác nhé,e sẽ thử

1 Like

Drop khi hai hàng giống nhau, drop khi hai hàng có một attribute chỉ định giống nhau. Bạn tham khảo

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?