Hướng dẫn how do you check if there are duplicate rows in python? - làm thế nào để bạn kiểm tra xem có các hàng trùng lặp trong python không?

Hướng dẫn how do you check if there are duplicate rows in python? - làm thế nào để bạn kiểm tra xem có các hàng trùng lặp trong python không?

Trong bài viết này, chúng tôi sẽ thảo luận về các cách để tìm và chọn các hàng trùng lặp trong một khung dữ liệu chỉ dựa trên tất cả hoặc chỉ tên cột.

Trong thư viện Python sườn Pandas, lớp DataFrame cung cấp chức năng thành viên để tìm các hàng trùng lặp dựa trên tất cả các cột hoặc một số cột cụ thể, tức là.

DataFrame.duplicated(subset=None, keep='first')

Nó trả về một chuỗi boolean với giá trị thực cho mỗi hàng nhân đôi.True value for each duplicated row.

Arguments:

  • tập hợp con :
    • Nhãn đơn hoặc nhiều cột nên được sử dụng để kiểm tra trùng lặp. Nếu không cung cấp tất cả các cột sẽ được kiểm tra để tìm các hàng trùng lặp.
      be checked for finding duplicate rows.
  • giữ cho :
    • Biểu thị sự xuất hiện nên được đánh dấu là trùng lặp. Giá trị của nó có thể là {’đầu tiên,’ cuối cùng, sai}, giá trị mặc định là ‘đầu tiên.
      default value is ‘first’.
      • Đầu tiên: tất cả các bản sao ngoại trừ lần xuất hiện đầu tiên của họ sẽ được đánh dấu là đúng
      • Cuối cùng: Tất cả các bản sao ngoại trừ sự xuất hiện cuối cùng của họ sẽ được đánh dấu là đúng
      • Sai: tất cả các bản sao ngoại trừ sẽ được đánh dấu là đúng

Vài ví dụ :

Quảng cáo

Hãy để tạo ra một khung dữ liệu với một số hàng trùng lặp, tức là.

# List of Tuples
students = [('jack', 34, 'Sydeny'),
            ('Riti', 30, 'Delhi'),
            ('Aadi', 16, 'New York'),
            ('Riti', 30, 'Delhi'),
            ('Riti', 30, 'Delhi'),
            ('Riti', 30, 'Mumbai'),
            ('Aadi', 40, 'London'),
            ('Sachin', 30, 'Delhi')
            ]

# Create a DataFrame object
dfObj = pd.DataFrame(students, columns=['Name', 'Age', 'City'])

Nội dung của khung dữ liệu này là,

     Name  Age      City
0    jack   34    Sydeny
1    Riti   30     Delhi
2    Aadi   16  New York
3    Riti   30     Delhi
4    Riti   30     Delhi
5    Riti   30    Mumbai
6    Aadi   40    London
7  Sachin   30     Delhi

Bây giờ, hãy để tìm các hàng trùng lặp trong đó.

Tìm các hàng trùng lặp dựa trên tất cả các cột

Để tìm và chọn bản sao tất cả các hàng dựa trên tất cả các cột gọi daraframe.dupplicate () mà không có bất kỳ đối số tập hợp con nào. Đối số là 'Đầu tiên').subset argument. It will return a Boolean series with True at the place of each duplicated rows except their first occurrence (default value of keep argument is ‘first’). Then pass this Boolean Series to [] operator of Dataframe to select the rows which are duplicate i.e.

# Select duplicate rows except first occurrence based on all columns
duplicateRowsDF = dfObj[dfObj.duplicated()]

print("Duplicate Rows except first occurrence based on all columns are :")
print(duplicateRowsDF)

Đầu ra:

Duplicate Rows except first occurrence based on all columns are :
   Name  Age   City
3  Riti   30  Delhi
4  Riti   30  Delhi

Ở đây, tất cả các hàng trùng lặp ngoại trừ lần xuất hiện đầu tiên của chúng được trả về vì giá trị mặc định của đối số Keep là ‘đầu tiên.keep argument was ‘first’.

Nếu chúng ta muốn chọn tất cả các hàng trùng lặp ngoại trừ sự xuất hiện cuối cùng của chúng & nbsp; thì chúng ta cần phải vượt qua đối số giữ như ‘cuối cùng, tức là.keep argument as ‘last’ i.e.

# Select duplicate rows except last occurrence based on all columns
duplicateRowsDF = dfObj[dfObj.duplicated(keep='last')]

print("Duplicate Rows except last occurrence based on all columns are :")
print(duplicateRowsDF)

Đầu ra:

Duplicate Rows except last occurrence based on all columns are :
   Name  Age   City
1  Riti   30  Delhi
3  Riti   30  Delhi

Ở đây, tất cả các hàng trùng lặp ngoại trừ lần xuất hiện đầu tiên của chúng được trả về vì giá trị mặc định của đối số Keep là ‘đầu tiên.

Nếu chúng ta muốn chọn tất cả các hàng trùng lặp ngoại trừ sự xuất hiện cuối cùng của chúng & nbsp; thì chúng ta cần phải vượt qua đối số giữ như ‘cuối cùng, tức là.

Tìm các hàng trùng lặp dựa trên các cột đã chọn

# Select all duplicate rows based on one column
duplicateRowsDF = dfObj[dfObj.duplicated(['Name'])]

print("Duplicate Rows based on a single column are:", duplicateRowsDF, sep='\n')

Đầu ra:

Duplicate Rows based on a single column are:
   Name  Age    City
3  Riti   30   Delhi
4  Riti   30   Delhi
5  Riti   30  Mumbai
6  Aadi   40  London

Ở đây, tất cả các hàng trùng lặp ngoại trừ lần xuất hiện đầu tiên của chúng được trả về vì giá trị mặc định của đối số Keep là ‘đầu tiên.

Nếu chúng ta muốn chọn tất cả các hàng trùng lặp ngoại trừ sự xuất hiện cuối cùng của chúng & nbsp; thì chúng ta cần phải vượt qua đối số giữ như ‘cuối cùng, tức là.

# Select all duplicate rows based on multiple column names in list
duplicateRowsDF = dfObj[dfObj.duplicated(['Age', 'City'])]

print("Duplicate Rows based on 2 columns are:", duplicateRowsDF, sep='\n')

Đầu ra:

# List of Tuples
students = [('jack', 34, 'Sydeny'),
            ('Riti', 30, 'Delhi'),
            ('Aadi', 16, 'New York'),
            ('Riti', 30, 'Delhi'),
            ('Riti', 30, 'Delhi'),
            ('Riti', 30, 'Mumbai'),
            ('Aadi', 40, 'London'),
            ('Sachin', 30, 'Delhi')
            ]

# Create a DataFrame object
dfObj = pd.DataFrame(students, columns=['Name', 'Age', 'City'])
0

Ở đây, tất cả các hàng trùng lặp ngoại trừ lần xuất hiện đầu tiên của chúng được trả về vì giá trị mặc định của đối số Keep là ‘đầu tiên.

Nếu chúng ta muốn chọn tất cả các hàng trùng lặp ngoại trừ sự xuất hiện cuối cùng của chúng & nbsp; thì chúng ta cần phải vượt qua đối số giữ như ‘cuối cùng, tức là.

# List of Tuples
students = [('jack', 34, 'Sydeny'),
            ('Riti', 30, 'Delhi'),
            ('Aadi', 16, 'New York'),
            ('Riti', 30, 'Delhi'),
            ('Riti', 30, 'Delhi'),
            ('Riti', 30, 'Mumbai'),
            ('Aadi', 40, 'London'),
            ('Sachin', 30, 'Delhi')
            ]

# Create a DataFrame object
dfObj = pd.DataFrame(students, columns=['Name', 'Age', 'City'])
1

Đầu ra:

Ở đây, tất cả các hàng trùng lặp ngoại trừ lần xuất hiện đầu tiên của chúng được trả về vì giá trị mặc định của đối số Keep là ‘đầu tiên.
 

Làm cách nào để kiểm tra xem một hàng có trùng lặp không?

Tìm và loại bỏ các bản sao..
Chọn các ô bạn muốn kiểm tra các bản sao. ....
Nhấp vào nhà> Định dạng có điều kiện> Đánh dấu các quy tắc ô> Các giá trị trùng lặp ..
Trong hộp bên cạnh các giá trị với, chọn định dạng bạn muốn áp dụng cho các giá trị trùng lặp, sau đó bấm OK ..

Làm thế nào để tôi tìm thấy các bản sao trong gấu trúc?

Bằng cách cài đặt giữ sai, tất cả các bản sao là đúng.Để tìm bản sao trên (các) cột cụ thể, hãy sử dụng tập hợp con ...
Đầu tiên: Mark sao chép là đúng ngoại trừ lần xuất hiện đầu tiên ..
Cuối cùng: Mark sao chép là đúng ngoại trừ lần xuất hiện cuối cùng ..
Sai: Đánh dấu tất cả các bản sao là đúng ..

Làm thế nào để tôi tìm thấy các bản sao trong một cột trong Python?

Để 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.

Làm thế nào để bạn xác định dữ liệu trùng lặp?

Các bản sao ẩn: 11 cách nâng cao để xác định và sao chép dữ liệu khách hàng..
Các thuật ngữ phổ biến, được thể hiện khác nhau ..
Tên ngắn và biệt danh ..
Typos..
Tiêu đề & hậu tố ..
Cân nhắc URL trang web ..
Phù hợp với sự tương đồng (hay còn gọi là kết hợp mờ).
ID hệ thống bên ngoài ..
8. Voi này hoặc phát hiện trùng lặp ..