Hướng dẫn how do you find the number of duplicates in a dataframe in python? - làm thế nào để bạn tìm thấy số lượng bản sao trong khung dữ liệu trong python?
Nếu bạn tìm thấy một số tính bị thiếu hoặc bị lỗi: 6, hãy đọc ở đây:some counts missing or get error: 6, read here: Show
1. Đếm các hàng trùng lặp với các mục Col1 Col2 Col3 Col4 size 0 ABC 678 PQR def 1 1 CDE 234 567 xyz 2 2 MNO 890 EFG abc 4 7:Giải pháp được chấp nhận là tuyệt vời và được cho là hữu ích cho nhiều thành viên. Trong một nhiệm vụ gần đây, tôi thấy nó có thể được điều chỉnh thêm để hỗ trợ đếm hoàn toàn một khung dữ liệu với các mục 7. Pandas hỗ trợ các mục nhập bị thiếu hoặc giá trị null dưới dạng giá trị 7. Hãy xem đầu ra cho trường hợp sử dụng này là gì khi DataFrame của chúng tôi chứa các mục 7:
Áp dụng mã:
gives:
Ồ, tại sao số đếm của nhóm #1 với 3 hàng trùng lặp bị thiếu ?! Đối với một số phiên bản gấu trúc, thay vào đó bạn có thể gặp lỗi: 6 6Solution:Sử dụng tham số 2 cho hàm 3, như sau:
gives:
Số lượng các hàng trùng lặp với 7 có thể được đầu ra thành công với 5. Tham số này đã được hỗ trợ kể từ phiên bản Pandas 1.1.0Pandas version 1.1.02. Giải pháp thay thếMột cách khác để đếm các hàng trùng lặp với các mục 7 như sau:
gives:
Ở đây, chúng tôi sử dụng hàm 7 với tham số 5. Tuy nhiên, tham số này chỉ được hỗ trợ gần đây kể từ phiên bản Pandas 1.3.0 Nếu phiên bản của bạn cũ hơn thế này, bạn sẽ cần sử dụng giải pháp 3 nếu bạn muốn nhận số lượng hoàn chỉnh cho các hàng có mục 7.Pandas version 1.3.0 If your version is older than this, you'll need to use the
3 solution if you want to get complete counts for rows with 7 entries.Bạn sẽ thấy rằng đầu ra nằm trong chuỗi khác nhau so với kết quả trước đó. Các số lượng được sắp xếp theo thứ tự giảm dần. Nếu bạn muốn nhận được kết quả chưa được phân loại, bạn có thể chỉ định 1:
Nó cho kết quả tương tự như giải pháp 2:
Lưu ý rằng giải pháp Trên thực tế, trong các mã triển khai cơ bản 7 gọi 6 để nhận số lượng: Nhấp vào liên kết để xem các mã cơ bản: Counts = self.groupby (tập hợp con, dropna = dropna).Do đó, đối với trường hợp sử dụng này, giải pháp 7 và 3 trong giải pháp được chấp nhận thực sự đang làm điều tương tự. Chúng ta sẽ có thể sử dụng chức năng 7 để có được số lượng các hàng trùng lặp mong muốn tốt như nhau.Việc sử dụng hàm 7 để nhận số lượng các hàng trùng lặp có lợi ích bổ sung mà cú pháp của nó đơn giản hơn. Bạn có thể chỉ cần sử dụng 1 hoặc 2 tùy thuộc vào việc dữ liệu của bạn có chứa 7 hay không. Chuỗi với 4 nếu bạn muốn kết quả là DataFrame thay vì một chuỗi. Sử dụng 5 và 6 để tìm, trích xuất, đếm và loại bỏ các hàng trùng lặp từ 7, 8.
Bài viết này mô tả các nội dung sau đây.
Sử dụng 6 để tổng hợp các giá trị dựa trên các phần tử trùng lặp.
Pandas.DataFrame.groupby - Pandas 1.1.5 Tài liệu
Trong ví dụ sau, mức trung bình của các giá trị của các cột số 16 và 17 được tính toán cho từng phần tử trùng lặp trong cột 18.Tìm các hàng trùng lặp: df.value_counts(dropna=False).reset_index(name='count') 5Xác định bản sao nào để đánh dấu: 0 0Chỉ định cột để tìm bản sao: 1 1Xác định bản sao nào để đánh dấu: Col1 Col2 Col3 Col4 count 0 MNO 890 EFG abc 4 1 ABC 123 XYZ NaN 3 2 CDE 234 567 xyz 2 3 ABC 678 PQR def 1 0Chỉ định cột để tìm bản sao: 1Đếm các hàng trùng lặp/không trùng lặp 2Các dữ liệu sau đây được sử dụng làm ví dụ. 7 là một bản sao của 8. 3Chỉ định cột để tìm bản sao: Col1 Col2 Col3 Col4 count 0 MNO 890 EFG abc 4 1 ABC 123 XYZ NaN 3 2 CDE 234 567 xyz 2 3 ABC 678 PQR def 1 1Đếm các hàng trùng lặp/không trùng lặp Các dữ liệu sau đây được sử dụng làm ví dụ. 7 là một bản sao của 8. 4Tệp CSV mẫu được liên kết dưới đây. 5Đếm các hàng trùng lặp/không trùng lặpCác dữ liệu sau đây được sử dụng làm ví dụ. 7 là một bản sao của 8. 6Tệp CSV mẫu được liên kết dưới đây. 7Bạn cũng có thể đếm 4 và 0 cùng với 8.
8Lưu ý rằng kết quả phụ thuộc vào đối số 0. Sử dụng đúng theo mục đích của bạn. 9Xóa các hàng trùng lặp: df.value_counts(dropna=False).reset_index(name='count') 6Bạn có thể sử dụng 5 và toán tử phủ định 3 để loại bỏ các hàng trùng lặp. 0Bạn cũng có thể loại bỏ các hàng trùng lặp với 6. 1Col1 Col2 Col3 Col4 count 0 MNO 890 EFG abc 4 1 ABC 123 XYZ NaN 3 2 CDE 234 567 xyz 2 3 ABC 678 PQR def 1 0, Col1 Col2 Col3 Col4 count 0 MNO 890 EFG abc 4 1 ABC 123 XYZ NaN 3 2 CDE 234 567 xyz 2 3 ABC 678 PQR def 1 1Đối số 0 và ____61 có thể được đặt cho 6 cũng như 5. 2Col1 Col2 Col3 Col4 count 0 MNO 890 EFG abc 4 1 ABC 123 XYZ NaN 3 2 CDE 234 567 xyz 2 3 ABC 678 PQR def 1 5Theo mặc định, một 11 mới với các hàng trùng lặp đã được trả về. Với đối số 12, các hàng trùng lặp được xóa khỏi 11 ban đầu. 3Tổng hợp dựa trên các yếu tố trùng lặp: Col1 Col2 Col3 Col4 count 0 MNO 890 EFG abc 4 1 ABC 123 XYZ NaN 3 2 CDE 234 567 xyz 2 3 ABC 678 PQR def 1 6Sử dụng 6 để tổng hợp các giá trị dựa trên các phần tử trùng lặp.
Trong ví dụ sau, mức trung bình của các giá trị của các cột số 16 và 17 được tính toán cho từng phần tử trùng lặp trong cột 18. 4Cũng có thể kết hợp các chuỗi và chuyển đổi chúng thành danh sách. 5Phương pháp chuỗi 19 được áp dụng cho các chuỗi Concatenate trong biểu thức Lambda.
Hàm tích hợp 20 được áp dụng để chuyển đổi thành danh sách.
Làm thế nào để bạn đếm các bản sao trong một khung dữ liệu trong Python?Bạn có thể đếm số lượng hàng trùng lặp bằng cách đếm đúng trong gấu trúc.series thu được với trùng lặp (). Số lượng thực sự có thể được tính bằng phương thức Sum (). Nếu bạn muốn đếm số lượng sai (= số lượng hàng không trùng lặp), bạn có thể đảo ngược nó bằng phủ định ~ và sau đó đếm đúng với sum ().counting True in pandas. Series obtained with duplicated() . The number of True can be counted with sum() method. If you want to count the number of False (= the number of non-duplicate rows), you can invert it with negation ~ and then count True with sum() .
Làm thế nào để bạn đếm các bản sao trong Python?Countof () được sử dụng để đếm số lần xuất hiện của B trong a. Nó đếm số lần xuất hiện của giá trị. Nó trả về số lượng của một số lần xuất hiện của giá trị. is used for counting the number of occurrences of b in a. It counts the number of occurrences of value. It returns the Count of a number of occurrences of value.
Làm thế nào để bạn tìm thấy số lượng trùng lặp?Mẹo: Nếu bạn muốn đếm các bản sao trong toàn bộ cột, hãy sử dụng công thức này = Countif (A: A, A2) (cột A chỉ ra cột dữ liệu và A2 đứng trên ô bạn muốn đếm tần số, bạn có thể thay đổichúng như bạn cần).=COUNTIF(A:A, A2) (the Column A indicates column of data, and A2 stands the cell you want to count the frequency, you can change them as you need).
Làm thế nào để tôi biết nếu một DataFrame chứa các bản sao?Để tìm bản sao trên một cột cụ thể, chúng ta chỉ có thể gọi phương thức sao chép () trên cột.Kết quả là một chuỗi Boolean với giá trị biểu thị đúng biểu thị.Nói cách khác, giá trị true có nghĩa là mục giống hệt với cái trước.call duplicated() method on the column. The result is a boolean Series with the value True denoting duplicate. In other words, the value True means the entry is identical to a previous one. |