Làm cách nào để tìm các dòng trùng lặp trong python?

Trong bài viết này, chúng tôi đã lấy một bộ dữ liệu về dân số của các tiểu bang khác nhau ở Hoa Kỳ, có sẵn trong một. định dạng tệp csv. Chúng tôi sẽ đọc. csv để hiển thị nội dung gốc của tệp này, như sau

nhập gấu trúc as pd


df_state =pd.read_csv("C. /Người dùng/DELL/Máy tính để bàn/population_ds. csv")

in( df_state )

Trong ảnh chụp màn hình sau, bạn có thể thấy nội dung trùng lặp của tệp này

Làm cách nào để tìm các dòng trùng lặp trong python?

Xác định các bản sao trong Pandas Python

Cần xác định xem dữ liệu bạn đang sử dụng có trùng lặp hàng hay không. Để kiểm tra sự trùng lặp dữ liệu, bạn có thể sử dụng bất kỳ phương pháp nào được trình bày trong các phần sau

Phương pháp 1

Đọc tệp csv và chuyển nó vào khung dữ liệu. Sau đó, xác định các hàng trùng lặp bằng cách sử dụng hàm Dupliced(). Cuối cùng, sử dụng câu lệnh in để hiển thị các hàng trùng lặp

nhập gấu trúc as pd


df_state =pd.read_csv("C. /Người dùng/DELL/Máy tính để bàn/population_ds. csv")

Dup_Rows = df_state [df_state.trùng lặp()]

in . ("\n\nDuplicate Rows : \n {}" . định dạng( Dup_Rows ))

Làm cách nào để tìm các dòng trùng lặp trong python?

Phương pháp 2

Sử dụng phương pháp này, cột is_duplicated sẽ được thêm vào cuối bảng và được đánh dấu là 'True' trong trường hợp các hàng trùng lặp

nhập gấu trúc as pd


df_state =pd.read_csv("C. /Người dùng/DELL/Máy tính để bàn/population_ds. csv")

df_state ["is_duplicate"]= df_state.trùng lặp()


in( . "\n {}".định dạng( df_state ))

Làm cách nào để tìm các dòng trùng lặp trong python?

Loại bỏ các bản sao trong Pandas Python

Có thể xóa các hàng trùng lặp khỏi khung dữ liệu của bạn bằng cú pháp sau.
drop_duplicates(subset=’’, keep=’’, inplace=False)
Ba tham số trên là tùy chọn và được giải thích chi tiết hơn bên dưới.
giữ. tham số này có ba giá trị khác nhau. Đầu tiên, Cuối cùng và Sai. Giá trị Đầu tiên giữ lần xuất hiện đầu tiên và loại bỏ các bản sao tiếp theo, giá trị Cuối cùng chỉ giữ lại lần xuất hiện cuối cùng và loại bỏ tất cả các bản sao trước đó và giá trị Sai loại bỏ tất cả các hàng trùng lặp.
tập hợp con. nhãn được sử dụng để xác định các hàng trùng lặp
tại chỗ. chứa hai điều kiện. Đúng và sai. Tham số này sẽ xóa các hàng trùng lặp nếu được đặt thành True.

Loại bỏ các bản sao Chỉ giữ lại lần xuất hiện đầu tiên

Khi bạn sử dụng “keep=first”, chỉ sự xuất hiện của hàng đầu tiên sẽ được giữ lại và tất cả các mục trùng lặp khác sẽ bị xóa

Thí dụ

Trong ví dụ này, chỉ hàng đầu tiên được giữ lại và các hàng trùng lặp còn lại sẽ bị xóa

nhập gấu trúc as pd


df_state =pd.read_csv("C. /Người dùng/DELL/Máy tính để bàn/population_ds. csv")


Dup_Rows = df_state [df_state.trùng lặp()]


in . ("\n\nDuplicate Rows : \n {}" . định dạng( Dup_Rows )) .


DF_RM_DUP = df_state.drop_duplicates( keep =' . )


print('\n\nResult DataFrame after duplicate removal :\n ', DF_RM_DUP. đầu( n =5))

Trong ảnh chụp màn hình sau, sự xuất hiện của hàng đầu tiên được giữ lại được đánh dấu bằng màu đỏ và các phần trùng lặp còn lại sẽ bị xóa

Làm cách nào để tìm các dòng trùng lặp trong python?

Loại bỏ các bản sao Chỉ giữ lại lần xuất hiện cuối cùng

Khi bạn sử dụng “keep=last”, tất cả các hàng trùng lặp trừ hàng xuất hiện cuối cùng sẽ bị xóa

Thí dụ

Trong ví dụ sau, tất cả các hàng trùng lặp đều bị xóa ngoại trừ chỉ lần xuất hiện cuối cùng

nhập gấu trúc as pd


df_state =pd.read_csv("C. /Người dùng/DELL/Máy tính để bàn/population_ds. csv")

Dup_Rows = df_state [df_state.trùng lặp()]

in . ("\n\nDuplicate Rows : \n {}" . định dạng( Dup_Rows )) .

DF_RM_DUP = df_state.drop_duplicates( keep =' . )

print('\n\nResult DataFrame after duplicate removal :\n ', DF_RM_DUP. đầu( n =5))

Trong hình ảnh sau đây, các bản sao được loại bỏ và chỉ sự xuất hiện của hàng cuối cùng được giữ lại

Làm cách nào để tìm các dòng trùng lặp trong python?

Xóa tất cả các hàng trùng lặp

Để xóa tất cả các hàng trùng lặp khỏi bảng, hãy đặt “keep=False” như sau

nhập gấu trúc as pd


df_state =pd.read_csv("C. /Người dùng/DELL/Máy tính để bàn/population_ds. csv")

Dup_Rows = df_state [df_state.trùng lặp()]

in . ("\n\nDuplicate Rows : \n {}" . định dạng( Dup_Rows )) .

DF_RM_DUP = df_state.drop_duplicates( keep =Sai . )

print('\n\nResult DataFrame after duplicate removal :\n ', DF_RM_DUP. đầu( n =5))

Như bạn có thể thấy trong hình ảnh sau, tất cả các bản sao được xóa khỏi khung dữ liệu

Làm cách nào để tìm các dòng trùng lặp trong python?

Xóa các bản sao có liên quan khỏi một cột được chỉ định

Theo mặc định, hàm kiểm tra tất cả các hàng trùng lặp từ tất cả các cột trong khung dữ liệu đã cho. Tuy nhiên, bạn cũng có thể chỉ định tên cột bằng cách sử dụng tham số tập hợp con

Thí dụ

Trong ví dụ sau, tất cả các mục trùng lặp có liên quan sẽ bị xóa khỏi cột 'Các trạng thái'

nhập gấu trúc as pd


df_state =pd.read_csv("C. /Người dùng/DELL/Máy tính để bàn/population_ds. csv")

Dup_Rows = df_state [df_state.trùng lặp()]

in . ("\n\nDuplicate Rows : \n {}" . định dạng( Dup_Rows )) .

DF_RM_DUP = df_state.drop_duplicates( tập con =' . )

print('\n\nResult DataFrame after duplicate removal :\n ', DF_RM_DUP. đầu( n =6))

Làm cách nào để tìm các dòng trùng lặp trong python?

Sự kết luận

Bài viết này đã chỉ cho bạn cách xóa các hàng trùng lặp khỏi khung dữ liệu bằng cách sử dụng hàm drop_duplicates() trong Pandas Python. Bạn cũng có thể xóa dữ liệu trùng lặp hoặc dư thừa bằng chức năng này. Bài viết cũng chỉ cho bạn cách xác định bất kỳ bản sao nào trong khung dữ liệu của bạn