Hướng dẫn remove duplicates excel python - loại bỏ các bản sao excel python

Trong bài viết, các tập lệnh Python để định dạng dữ liệu trong Microsoft Excel, chúng tôi đã sử dụng các tập lệnh Python để tạo một excel và thực hiện định dạng dữ liệu khác nhau. Python là một ngôn ngữ lập trình cấp cao thú vị. Bạn có thể trải qua các trường hợp sử dụng khác nhau của Python trên SQLShack.

Show

Nội phân chính

  • Tóm tắt nhanh về việc loại bỏ các hàng trùng lặp trong Microsoft Excel
  • Cú pháp của drop_duplicates () trong các tập lệnh python
  • Ví dụ 1: Sử dụng drop_duplicates () mà không có bất kỳ đối số nào
  • Ví dụ 2: Sử dụng drop_duplicates () cùng với tên cột
  • Ví dụ 3: Xóa các bản sao bằng cách giữ giá trị tối đa và tối thiểu
  • Ví dụ 4: hàm drop_duplicate () sử dụng đối số thay thế
  • Đánh dấu các giá trị trùng lặp với mã màu tùy chỉnh
  • Làm thế nào để bạn loại bỏ các bản sao khỏi một tệp excel trong Python?
  • Làm cách nào để loại bỏ các bản sao trong bảng tính Excel?
  • Làm thế nào để bạn xóa các tệp trùng lặp trong Python?
  • Cách dễ nhất để loại bỏ các bản sao trong Python là gì?

Trong bài viết này, chúng tôi sẽ xem xét loại bỏ dữ liệu trùng lặp khỏi Excel bằng Python.

Tóm tắt nhanh về việc loại bỏ các hàng trùng lặp trong Microsoft Excel

Cú pháp của drop_duplicates () trong các tập lệnh python

Hướng dẫn remove duplicates excel python - loại bỏ các bản sao excel python

Ví dụ 1: Sử dụng drop_duplicates () mà không có bất kỳ đối số nàoRemove Duplicates button from the Data menu. This option checks duplicate values and retains the FIRST unique value and removes other values.

Ví dụ 2: Sử dụng drop_duplicates () cùng với tên cột

Ví dụ 3: Xóa các bản sao bằng cách giữ giá trị tối đa và tối thiểu

Ví dụ 4: hàm drop_duplicate () sử dụng đối số thay thế

Đánh dấu các giá trị trùng lặp với mã màu tùy chỉnh

Làm thế nào để bạn loại bỏ các bản sao khỏi một tệp excel trong Python?

Làm cách nào để loại bỏ các bản sao trong bảng tính Excel?

Làm thế nào để bạn xóa các tệp trùng lặp trong Python?

Cách dễ nhất để loại bỏ các bản sao trong Python là gì?pandas and NumPy package along with pip utility.

Trong bài viết này, chúng tôi sẽ xem xét loại bỏ dữ liệu trùng lặp khỏi Excel bằng Python.

Giả sử chúng ta có dữ liệu sau trong một tờ Excel. Chúng tôi muốn loại bỏ các giá trị trùng lặp trong bảng này.pandas library to read and write the excel sheets.

Trong Microsoft Excel, chúng tôi sử dụng nút Xóa trùng lặp khỏi menu dữ liệu. Tùy chọn này kiểm tra các giá trị trùng lặp và giữ lại giá trị duy nhất đầu tiên và xóa các giá trị khác.

Hãy để nhấp vào Xóa các bản sao và chọn tất cả các cột.pandas aspd

Nhấp vào OK và nó loại bỏ các giá trị trùng lặp 3 giá trị trùng lặp và giữ lại 5 giá trị duy nhất.=pd.read_excel('C:\Temp\data.xlsx')

print(data)(data)

Chúng tôi có dữ liệu sau khi loại bỏ các bản sao khỏi điều này.

Giả sử bạn đang làm việc trong Excel bằng ngôn ngữ Python. Nếu Excel đó chứa các giá trị trùng lặp, chúng ta có thể không muốn sử dụng các chức năng Excel cho nó. Kịch bản của chúng tôi phải có khả năng xử lý dữ liệu trùng lặp như vậy và xóa theo các yêu cầu của chúng tôi, chẳng hạn như xóa tất cả các bản sao, xóa tất cả trừ bản sao cuối cùng, xóa tất cả nhưng lần đầu tiên trùng lặp.

Cú pháp của drop_duplicates () trong các tập lệnh python

Hãy cùng nhìn vào cách xử lý dữ liệu trùng lặp Python trong Excel.

  • Trước khi chúng tôi bắt đầu với Python, hãy đảm bảo bạn chạy qua các điều kiện tiên quyết được chỉ định trong bài viết, các tập lệnh Python để định dạng dữ liệu trong Microsoft Excel.: In this argument, we define the column list to consider for identifying duplicate rows. If it considers all columns in case, we do not specify any values
  • Khởi chạy SQL Notebook trong Azure Data Studio và xác minh gấu trúc, sự tồn tại của gói numpy. Bạn có thể nhấp vào Quản lý tiện ích mở rộng trong Azure Data Studio cho nó.: Here, we can specify the following values:
    • Khi bạn nhấp vào quản lý các gói, nó cung cấp cho bạn một danh sách các gói đã cài đặt. Ở đây, chúng ta có thể thấy cả gói gấu trúc và numpy cùng với tiện ích pip.
    • Chúng tôi sử dụng chức năng pandas read_excel () để nhập tệp excel. Tạo một khối mã mới trong SQL Notebook và thực thi mã. Ở đây, câu lệnh in in khung dữ liệu bao gồm dữ liệu trang tính Excel.
    • Đầu tiên, chúng tôi nhập thư viện Pandas để đọc và viết các tờ Excel.
  • Trong dữ liệu này, một vài cột chứa NAN trong cột Nhận xét. Python hiển thị nan cho các ô không có bất kỳ giá trị/văn bản nào.: By default, Python does not change the source data frame. We can specify this argument to change this behavior

Ví dụ 1: Sử dụng drop_duplicates () mà không có bất kỳ đối số nào

Ví dụ 2: Sử dụng drop_duplicates () cùng với tên cột

Hãy để nhấp vào Xóa các bản sao và chọn tất cả các cột.pandas aspd

Nhấp vào OK và nó loại bỏ các giá trị trùng lặp 3 giá trị trùng lặp và giữ lại 5 giá trị duy nhất.=pd.read_excel('C:\Temp\data.xlsx')

#print(data)

data.drop_duplicates().drop_duplicates()

Chúng tôi có dữ liệu sau khi loại bỏ các bản sao khỏi điều này.

Ví dụ 2: Sử dụng drop_duplicates () cùng với tên cột

Ví dụ 3: Xóa các bản sao bằng cách giữ giá trị tối đa và tối thiểu

Trong các tập lệnh Python sau, chúng tôi chỉ định tên cột trong đối số tập hợp con. Pandas kiểm tra các cột này và xóa các giá trị trùng lặp. Nó không bao gồm cột Nhận xét trong trường hợp này.

Ví dụ 2A: Keep = "đầu tiên" đối số

Chúng tôi cũng chỉ định một đối số khác giữ = trước tiên để hướng dẫn Python giữ giá trị đầu tiên và loại bỏ các bản sao hơn nữa. Đó là các hành vi mặc định để chúng ta có thể loại trừ tham số này ở đây.keep=first to instruct Python to keep the first value and remove further duplicates. It is the default behaviors so that we can exclude this parameter here as well.

IMPREPPANDAS ASPDpandas aspd

data = pd.read_excel ('c: \ temp \ data.xlsx'))=pd.read_excel('C:\Temp\data.xlsx')

data.drop_duplicates(subset=["EmpName","Department","JoiningDate","Designation"],keep="first").drop_duplicates(subset=["EmpName", "Department","JoiningDate","Designation"],keep="first")

Nhìn vào đầu ra, và chúng tôi chỉ có ba hồ sơ có sẵn. Nó đã loại bỏ tất cả các hàng trùng lặp cho các cột được chỉ định. Chúng tôi có các hàng có ID ID 0,2 và 4 trong đầu ra bằng cách sử dụng giá trị đầu tiên trong đối số giữ.

Ví dụ 2b: Keep = "Last Last" đối số

Chúng ta có thể thay đổi đối số giữ = cuối cùng. Nó giữ hàng cuối cùng từ các bản sao và loại bỏ các hàng trùng lặp trước đó. Hãy để thay đổi đối số và xem đầu ra.keep=last. It keeps the last row from the duplicates and removes previous duplicate rows. Let’s change the argument and view the output.

IMPREPPANDAS ASPDpandas aspd

data = pd.read_excel ('c: \ temp \ data.xlsx'))=pd.read_excel('C:\Temp\data.xlsx')

data.drop_duplicates(subset=["EmpName","Department","JoiningDate","Designation"],keep="last").drop_duplicates(subset=["EmpName", "Department","JoiningDate","Designation"],keep="last")

Nhìn vào đầu ra, và chúng tôi chỉ có ba hồ sơ có sẵn. Nó đã loại bỏ tất cả các hàng trùng lặp cho các cột được chỉ định. Chúng tôi có các hàng có ID ID 0,2 và 4 trong đầu ra bằng cách sử dụng giá trị đầu tiên trong đối số giữ.

Ví dụ 2b: Keep = "Last Last" đối số

Chúng ta có thể thay đổi đối số giữ = cuối cùng. Nó giữ hàng cuối cùng từ các bản sao và loại bỏ các hàng trùng lặp trước đó. Hãy để thay đổi đối số và xem đầu ra.

IMPREPPANDAS ASPDpandas aspd

data = pd.read_excel ('c: \ temp \ data.xlsx'))=pd.read_excel('C:\Temp\data.xlsx')

data.drop_duplicates(subset=["EmpName","Department","JoiningDate","Designation"],keep="False").drop_duplicates(subset=["EmpName", "Department","JoiningDate","Designation"],keep="False")

Nhìn vào đầu ra, và chúng tôi chỉ có ba hồ sơ có sẵn. Nó đã loại bỏ tất cả các hàng trùng lặp cho các cột được chỉ định. Chúng tôi có các hàng có ID ID 0,2 và 4 trong đầu ra bằng cách sử dụng giá trị đầu tiên trong đối số giữ.

Ví dụ 2b: Keep = "Last Last" đối số

Chúng ta có thể thay đổi đối số giữ = cuối cùng. Nó giữ hàng cuối cùng từ các bản sao và loại bỏ các hàng trùng lặp trước đó. Hãy để thay đổi đối số và xem đầu ra.

IMPREPPANDAS ASPDpandas aspd

data = pd.read_excel ('c: \ temp \ data.xlsx'))=pd.read_excel('C:\Temp\data.xlsx')

data.drop_duplicates(subset=["EmpName","Department","JoiningDate","Designation"],keep=False).drop_duplicates(subset=["EmpName", "Department","JoiningDate","Designation"],keep=False)

Nhìn vào đầu ra, và chúng tôi chỉ có ba hồ sơ có sẵn. Nó đã loại bỏ tất cả các hàng trùng lặp cho các cột được chỉ định. Chúng tôi có các hàng có ID ID 0,2 và 4 trong đầu ra bằng cách sử dụng giá trị đầu tiên trong đối số giữ.

Ví dụ 2b: Keep = "Last Last" đối số

Chúng ta có thể thay đổi đối số giữ = cuối cùng. Nó giữ hàng cuối cùng từ các bản sao và loại bỏ các hàng trùng lặp trước đó. Hãy để thay đổi đối số và xem đầu ra.

Trong trường hợp này, đầu ra thay đổi và chúng tôi có các hàng có ID ID 1,2,7 trong đầu ra.

Ví dụ 2c: giữ = đối số sai lầm

IMPREPPANDAS ASPDpandas aspd

data = pd.read_excel ('c: \ temp \ data.xlsx'))=pd.read_excel('C:\Temp\data.xlsx')

data.sort_values('Age',ascending=True).drop_duplicates(subset=["EmpName","Department","JoiningDate","Designation"],keep='last').sort_values('Age',ascending=True).drop_duplicates(subset=["EmpName", "Department","JoiningDate","Designation"],keep='last')

Nhìn vào đầu ra, và chúng tôi chỉ có ba hồ sơ có sẵn. Nó đã loại bỏ tất cả các hàng trùng lặp cho các cột được chỉ định. Chúng tôi có các hàng có ID ID 0,2 và 4 trong đầu ra bằng cách sử dụng giá trị đầu tiên trong đối số giữ.

Ví dụ 2b: Keep = "Last Last" đối số

IMPREPPANDAS ASPDpandas aspd

data = pd.read_excel ('c: \ temp \ data.xlsx'))=pd.read_excel('C:\Temp\data.xlsx')

data.sort_values('Age',ascending=False).drop_duplicates(subset=["EmpName","Department","JoiningDate","Designation"],keep='last').sort_values('Age',ascending=False).drop_duplicates(subset=["EmpName", "Department","JoiningDate","Designation"],keep='last')

Nhìn vào đầu ra, và chúng tôi chỉ có ba hồ sơ có sẵn. Nó đã loại bỏ tất cả các hàng trùng lặp cho các cột được chỉ định. Chúng tôi có các hàng có ID ID 0,2 và 4 trong đầu ra bằng cách sử dụng giá trị đầu tiên trong đối số giữ.

Ví dụ 2b: Keep = "Last Last" đối số

Chúng ta có thể thay đổi đối số giữ = cuối cùng. Nó giữ hàng cuối cùng từ các bản sao và loại bỏ các hàng trùng lặp trước đó. Hãy để thay đổi đối số và xem đầu ra.

IMPREPPANDAS ASPDpandas aspd

data = pd.read_excel ('c: \ temp \ data.xlsx'))=pd.read_excel('C:\Temp\data.xlsx')

data.drop_duplicates(subset=["EmpName","Department","JoiningDate","Designation"],keep=False,inplace=False).drop_duplicates(subset=["EmpName", "Department","JoiningDate","Designation"],keep=False,inplace=False)

Nhìn vào đầu ra, và chúng tôi chỉ có ba hồ sơ có sẵn. Nó đã loại bỏ tất cả các hàng trùng lặp cho các cột được chỉ định. Chúng tôi có các hàng có ID ID 0,2 và 4 trong đầu ra bằng cách sử dụng giá trị đầu tiên trong đối số giữ.

Ví dụ 2b: Keep = "Last Last" đối số

IMPREPPANDAS ASPDpandas aspd

data = pd.read_excel ('c: \ temp \ data.xlsx'))=pd.read_excel('C:\Temp\data.xlsx')

data.drop_duplicates(subset=["EmpName","Department","JoiningDate","Designation"],keep=False,inplace=True).drop_duplicates(subset=["EmpName", "Department","JoiningDate","Designation"],keep=False,inplace=True)

dữ liệu

Đánh dấu các giá trị trùng lặp với mã màu tùy chỉnh

Trong nhiều trường hợp, chúng tôi chỉ muốn kiểm tra dữ liệu trùng lặp thay vì xóa nó. Thay vào đó, chúng tôi yêu cầu để làm nổi bật các giá trị trùng lặp và gửi chúng đến nhóm thích hợp để điều chỉnh. Nó có thể là khả thi trong trường hợp chúng tôi nhận được dữ liệu từ bên thứ ba.

Chúng ta có thể sử dụng định dạng có điều kiện và đưa ra một kiểu trực quan (mã hóa màu) để nhân đôi các hàng. Trong mã sau, chúng tôi xác định hàm tập lệnh Python để làm nổi bật các giá trị trùng lặp trong màu nền màu cam. Chúng tôi sẽ đề cập nhiều hơn về định dạng có điều kiện trong các bài viết sắp tới.conditional formatting and give a visual style ( color coding ) to duplicate rows. In the following code, we define a Python script function to highlight duplicate values in the orange background color. We will cover more about conditional formatting in upcoming articles.

IMPREPPANDAS ASPDpandas aspd

data = pd.read_excel ('c: \ temp \ data.xlsx'))=pd.read_excel('C:\Temp\data.xlsx')

df=pd.DataFrame(data)=pd.DataFrame(data)

defcolorcodes(x): colorcodes(x):

    df=x.copy()df=x.copy()

    df['Dup']=df.duplicated(keep=False)df['Dup']= df.duplicated(keep=False)

    mask=df['Dup']==Truemask=df['Dup']==True

& nbsp; & nbsp; & nbsp; & nbsp;df.loc[mask, :]='background-color: orange'

& nbsp; & nbsp; & nbsp; & nbsp; df.loc [~ mặt nạ,:] = 'màu nền: ""'df.loc[~mask,:]='background-color: ""'

    returndf.drop('Dup',axis=1)return df.drop('Dup',axis=1)

df.style.apply(colorcodes,axis=None).style.apply(colorcodes,axis=None)

Nó cung cấp cho chúng ta đầu ra sau và chúng ta có thể dễ dàng diễn giải các hàng nào chứa các giá trị trùng lặp. Nó rất hữu ích, đặc biệt là khi chúng ta có một số lượng lớn các hàng. Chúng ta không thể đi qua từng hàng trong trường hợp này và mã hóa màu giúp chúng ta xác định các giá trị trùng lặp.

Ngoài ra, chúng ta có thể sử dụng các chức năng tiếp theo như Groupby và đếm các hàng trùng lặp.GROUPBY and count the duplicate rows.

IMPREPPANDAS ASPDpandas aspd

data = pd.read_excel ('c: \ temp \ data.xlsx'))=pd.read_excel('C:\Temp\data.xlsx')

df=pd.DataFrame(data)=pd.DataFrame(data)

df.groupby(df.columns.tolist(),as_index=False).size().groupby(df.columns.tolist(),as_index=False).size()

& nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; df.loc [~ mặt nạ,:] = 'màu nền: ""'

Nó cung cấp cho chúng ta đầu ra sau và chúng ta có thể dễ dàng diễn giải các hàng nào chứa các giá trị trùng lặp. Nó rất hữu ích, đặc biệt là khi chúng ta có một số lượng lớn các hàng. Chúng ta không thể đi qua từng hàng trong trường hợp này và mã hóa màu giúp chúng ta xác định các giá trị trùng lặp.

  • Ngoài ra, chúng ta có thể sử dụng các chức năng tiếp theo như Groupby và đếm các hàng trùng lặp.
  • Nếu bất kỳ số lượng hàng nào lớn hơn 1, thì đó là một hàng trùng lặp. Trong đầu ra sau, chúng ta có thể lưu ý hơn Dolly xuất hiện 4 lần trong bảng Excel, điều đó có nghĩa là nó là một hàng trùng lặp. Rajendra không chứa bất kỳ hàng trùng lặp nào, vì vậy số lượng của nó là 1 trong đầu ra.

Sự kết luận

Trong bài viết này, chúng tôi đã khám phá quá trình để loại bỏ các hàng trùng lặp trong một tờ Excel bằng các tập lệnh Python. Tôi thích cách đối phó với các tệp Excel bằng Python. Chúng tôi sẽ bao gồm các tập lệnh hữu ích hơn trong các bài viết sắp tới. Giữ nguyên!

Tác giả

Bài viết gần đâyBest Author of the Year continuously in 2019, 2020, and 2021 (2nd Rank) at SQLShack and the MSSQLTIPS champions award in 2020.

Xin chào! Tôi là Rajendra Gupta, chuyên gia và kiến ​​trúc sư cơ sở dữ liệu, giúp các tổ chức thực hiện Microsoft SQL Server, Azure, Couchbase, AWS Solutions nhanh chóng và hiệu quả, khắc phục các vấn đề liên quan và điều chỉnh hiệu suất với hơn 14 năm kinh nghiệm.
I am always interested in new challenges so if you need consulting help, reach me at

Tôi là tác giả của cuốn sách "DP-300 quản lý cơ sở dữ liệu quan hệ trên Microsoft Azure". Tôi đã xuất bản hơn 650 bài viết kỹ thuật về MSSQLTIPS, SQLShack, Quest, CodingSight và một số.

Tôi là người tạo ra một trong những bộ sưu tập bài viết trực tuyến miễn phí lớn nhất về một chủ đề duy nhất, với loạt phim 50 phần của anh ấy trên SQL Server luôn luôn trên các nhóm sẵn có.

Dựa trên sự đóng góp của tôi cho cộng đồng SQL Server, tôi đã được công nhận là tác giả giỏi nhất của năm liên tục vào năm 2019, 2020 và 2021 (cấp bậc thứ 2) tại Giải thưởng Nhà vô địch MSSQLTIPS của SQLShack và MSSQLTIPS năm 2020. Pandas drop_duplicates() method helps in removing duplicates from the Pandas Dataframe In Python.

Blog cá nhân: https: //www.dbblogger.comi luôn quan tâm đến những thách thức mới, vì vậy nếu bạn cần trợ giúp tư vấn, hãy liên hệ với tôi tại

Xem tất cả các bài viết của Rajendra Gupta.

Làm thế nào để bạn loại bỏ các bản sao khỏi một tệp excel trong Python?

drop_duplicates () pandas drop_duplicates () Phương thức giúp loại bỏ các bản sao khỏi khung dữ liệu pandas trong python.

Làm cách nào để loại bỏ các bản sao trong bảng tính Excel?

Loại bỏ các giá trị trùng lặp.

Explanation:..

Chọn phạm vi của các ô có giá trị trùng lặp bạn muốn xóa. Mẹo: Xóa bất kỳ phác thảo hoặc phụ nào khỏi dữ liệu của bạn trước khi cố gắng xóa các bản sao ..

Nhấp vào Dữ liệu> Xóa các bản sao, sau đó dưới các cột, kiểm tra hoặc bỏ chọn các cột nơi bạn muốn xóa các bản sao. ....

Bấm OK ..

Làm thế nào để bạn xóa các tệp trùng lặp trong Python?

Trước hết, lưu đường dẫn của đường dẫn tệp đầu vào và đầu ra theo hai biến. ....

Tạo một biến bộ. ....

Mở tệp đầu ra ở chế độ ghi. ....

Bắt đầu một cho vòng lặp để đọc từ dòng tệp đầu vào từng dòng. .....

Tìm giá trị băm của dòng hiện tại. ....

Kiểm tra xem giá trị băm này đã có trong biến đã đặt hay không ..

Cách dễ nhất để loại bỏ các bản sao trong Python là gì?

Có nhiều cách để loại bỏ các bản sao khỏi danh sách Python ..

Sử dụng một danh sách tạm thời và vòng lặp ..