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 đỡ
Xóa các bản ghi trùng lặp trong Pandas-Python
Là thế nào nhỉ, bạn nói rõ hơn được không.
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ó
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.
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()
cảm ơn bác nhé,e sẽ thử
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
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?