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
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 ]]
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 ]]
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
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
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
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]]
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