Điểm chuẩn đầu tiên chỉ bao gồm một phạm vi nhỏ độ dài danh sách vì một số cách tiếp cận có hành vi
# Use the DataFrame.duplicated[] method to return a series of boolean values
bool_series = df.duplicated[]
9Trong biểu đồ, trục y biểu thị thời gian, vì vậy giá trị thấp hơn có nghĩa là tốt hơn. Nó cũng được vẽ log-log để có thể hiển thị nhiều giá trị hơn
Loại bỏ các phương pháp tiếp cận
# Use the DataFrame.duplicated[] method to return a series of boolean values
bool_series = df.duplicated[]
9 Tôi đã thực hiện một điểm chuẩn khác lên tới nửa triệu phần tử trong danh sáchNhư bạn có thể thấy cách tiếp cận
0 False
1 False
2 False
3 False
4 True
5 False
6 True
7 False
dtype: bool
1 nhanh hơn bất kỳ cách tiếp cận nào khác và thậm chí việc xâu chuỗi >>> from iteration_utilities import unique_everseen
>>> list[unique_everseen[duplicates[[1,1,2,1,2,3,4,2]]]]
[1, 2]
1 cũng nhanh hơn hoặc nhanh như nhau so với các cách tiếp cận khácMột điều thú vị khác cần lưu ý ở đây là cách tiếp cận của gấu trúc rất chậm đối với các danh sách nhỏ nhưng có thể dễ dàng cạnh tranh để có được các danh sách dài hơn
Tuy nhiên, vì các điểm chuẩn này cho thấy hầu hết các phương pháp đều hoạt động gần như bằng nhau, nên việc sử dụng phương pháp nào không quan trọng [ngoại trừ 3 phương pháp có thời gian chạy
# Use the DataFrame.duplicated[] method to return a series of boolean values
bool_series = df.duplicated[]
9] gấu trúc. Khung dữ liệu. phương thức sao chép [] được sử dụng để tìm các hàng trùng lặp trong DataFrame. Nó trả về một chuỗi boolean xác định xem một hàng trùng lặp hay duy nhất
Trong bài viết này, bạn sẽ tìm hiểu cách sử dụng phương pháp này để xác định các hàng trùng lặp trong DataFrame. Bạn cũng sẽ biết một số mẹo thiết thực để sử dụng phương pháp này
Tạo một khung dữ liệu
# Create a DataFrame
import pandas as pd
data_df = {'Name': ['Arpit', 'Riya', 'Priyanka', 'Aman', 'Arpit', 'Rohan', 'Riya', 'Sakshi'],
'Employment Type': ['Full-time Employee', 'Part-time Employee', 'Intern', 'Intern',
'Full-time Employee', 'Part-time Employee', 'Part-time Employee', 'Full-time Employee'],
'Department': ['Administration', 'Marketing', 'Technical', 'Marketing',
'Administration', 'Technical', 'Marketing', 'Administration']}
df = pd.DataFrame[data_df]
df
Cũng đọc. tạo và tải DataFrames
gấu trúc. Khung dữ liệu. trùng lặp[]
- cú pháp. gấu trúc. Khung dữ liệu. trùng lặp[subset=None, keep= ‘first’]Mục đích. Để xác định các hàng trùng lặp trong DataFrame
- Thông số
- tập hợp con. [mặc định. Không có]. Nó được sử dụng để chỉ định các cột cụ thể trong đó các giá trị trùng lặp sẽ được tìm kiếm
- giữ. 'đầu tiên' hoặc 'cuối cùng' hoặc Sai [mặc định. 'đầu tiên']. Nó được sử dụng để chỉ định phiên bản nào của các hàng lặp lại sẽ được xác định là một hàng duy nhất
- trả lại. Một chuỗi Boolean trong đó giá trị True biểu thị rằng hàng tại chỉ mục tương ứng là trùng lặp và Sai biểu thị rằng hàng là duy nhất
Sử dụng Khung dữ liệu. chức năng trùng lặp []
Khi bạn trực tiếp sử dụng hàm
0 False
1 False
2 False
3 False
4 True
5 False
6 True
7 False
dtype: bool
6, các giá trị mặc định sẽ được chuyển đến các tham số để tìm kiếm các hàng trùng lặp trong DataFrame# Use the DataFrame.duplicated[] method to return a series of boolean values
bool_series = df.duplicated[]
0 False
1 False
2 False
3 False
4 True
5 False
6 True
7 False
dtype: bool
Sử dụng tham số giữ
Bạn có thể sử dụng tham số keep để chỉ định trường hợp lặp lại nào sẽ được coi là duy nhất và các trường hợp còn lại sẽ được coi là trùng lặp
Đặt giữ là 'đầu tiên'
Giá trị mặc định của tham số giữ là 'đầu tiên'. Điều đó có nghĩa là phương thức sẽ coi phiên bản đầu tiên của một hàng là duy nhất và các phiên bản còn lại là trùng lặp
Hãy thử loại bỏ các hàng trùng lặp
# Use the keep parameter to consider only the first instance of a duplicate row to be unique
bool_series = df.duplicated[keep='first']
print['Boolean series:']
print[bool_series]
print['\n']
print['DataFrame after keeping only the first instance of the duplicate rows:']
# The `~` sign is used for negation. It changes the boolean value True to False and False to True.
df[~bool_series]
_______6Như bạn có thể thấy, hàng thứ năm và hàng thứ bảy đã được xác định là trùng lặp. Hàng thứ năm là một bản sao của hàng đầu tiên và hàng thứ bảy là một bản sao của hàng thứ hai. Do đó, chúng đã bị xóa khỏi DataFrame
Đặt giữ là 'cuối cùng'
Khi bạn đặt giá trị của tham số này là 'cuối cùng', phương thức sẽ coi phiên bản cuối cùng của một hàng là duy nhất và các phiên bản còn lại là trùng lặp
Hãy thử loại bỏ các hàng trùng lặp
# Use the keep parameter to consider only the last instance of a duplicate row to be unique
bool_series = df.duplicated[keep='last']
print['Boolean series:']
print[bool_series]
print['\n']
print['DataFrame after keeping only the last instance of the duplicate rows:']
# The `~` sign is used for negation. It changes the boolean value True to False and False to True
df[~bool_series]
Boolean series:
0 True
1 True
2 False
3 False
4 False
5 False
6 False
7 False
dtype: bool
DataFrame after keeping only the last instance of the duplicate rows:
Ở đây, hàng thứ nhất và hàng thứ hai được xác định là trùng lặp trong khi hàng thứ năm và thứ bảy được coi là duy nhất.
Đặt giữ là Sai
Nếu bạn đặt giá trị của keep là giá trị boolean Sai, thì phương thức sẽ coi tất cả các trường hợp của một hàng là trùng lặp
Hãy thử loại bỏ các hàng trùng lặp
Nhận khóa học Python hoàn chỉnh miễn phí
Đối mặt với tình huống tương tự như những người khác?
Xây dựng sự nghiệp khoa học dữ liệu của bạn với bằng cấp được ngành công nhận trên toàn cầu. Có được tư duy, sự tự tin và các kỹ năng khiến Nhà khoa học dữ liệu trở nên có giá trị
Nhận khóa học Python miễn phí
Nhận khóa học Python hoàn chỉnh miễn phí
Xây dựng sự nghiệp khoa học dữ liệu của bạn với bằng cấp được ngành công nhận trên toàn cầu. Có được tư duy, sự tự tin và các kỹ năng khiến Nhà khoa học dữ liệu trở nên có giá trị
Nhận khóa học Python miễn phí
# Use the keep parameter to consider all instances of a row to be duplicates
bool_series = df.duplicated[keep=False]
print['Boolean series:']
print[bool_series]
print['\n']
print['DataFrame after removing all the instances of the duplicate rows:']
# The `~` sign is used for negation. It changes the boolean value True to False and False to True
df[~bool_series]
# Create a DataFrame
import pandas as pd
data_df = {'Name': ['Arpit', 'Riya', 'Priyanka', 'Aman', 'Arpit', 'Rohan', 'Riya', 'Sakshi'],
'Employment Type': ['Full-time Employee', 'Part-time Employee', 'Intern', 'Intern',
'Full-time Employee', 'Part-time Employee', 'Part-time Employee', 'Full-time Employee'],
'Department': ['Administration', 'Marketing', 'Technical', 'Marketing',
'Administration', 'Technical', 'Marketing', 'Administration']}
df = pd.DataFrame[data_df]
df
0Sử dụng tham số tập hợp con
Tham số tập hợp con được sử dụng để chỉ định các cột trong đó các mục trùng lặp sẽ được tìm kiếm.
Sau khi bạn đã chỉ định các cột, phương thức sẽ tìm kiếm các hàng trùng lặp bằng cách so sánh giá trị của chỉ các cột đã chỉ định giữa các hàng.
Điều này cực kỳ hữu ích vì bạn có thể chỉ quan tâm đến việc tìm các giá trị trùng lặp cho chỉ một vài cột
# Create a DataFrame
import pandas as pd
data_df = {'Name': ['Arpit', 'Riya', 'Priyanka', 'Aman', 'Arpit', 'Rohan', 'Riya', 'Sakshi'],
'Employment Type': ['Full-time Employee', 'Part-time Employee', 'Intern', 'Intern',
'Full-time Employee', 'Part-time Employee', 'Part-time Employee', 'Full-time Employee'],
'Department': ['Administration', 'Marketing', 'Technical', 'Marketing',
'Administration', 'Technical', 'Marketing', 'Administration']}
df = pd.DataFrame[data_df]
df
1# Use the DataFrame.duplicated[] method to return a series of boolean values
bool_series = df.duplicated[]
0Mẹo thiết thực
- Nếu bạn không sử dụng tham số tập hợp con, thì tất cả các giá trị trong các hàng cần phải giống nhau để được xác định là trùng lặp
- Bạn cũng có thể chuyển nhiều cột vào tham số tập hợp con. Tuy nhiên, hãy nhớ rằng, tất cả các giá trị của các cột được chỉ định phải giống nhau trong các hàng để coi chúng là trùng lặp
# Use the DataFrame.duplicated[] method to return a series of boolean values
bool_series = df.duplicated[]
1# Use the DataFrame.duplicated[] method to return a series of boolean values
bool_series = df.duplicated[]
2- Mặc dù phương thức này trả về một chuỗi chỉ xác định các hàng trùng lặp trong DataFrame, nhưng bạn có thể sử dụng chuỗi này để tập hợp con DataFrame sao cho nó chỉ chứa các giá trị duy nhất.
Kiểm tra kiến thức của bạn
Q1. Giá trị Sai cho tham số giữ được sử dụng để xóa tất cả các hàng trùng lặp khỏi Khung dữ liệu. Đúng hay sai?
Câu trả lờiCâu trả lời. Sai. Giá trị Sai xác định tất cả các trường hợp của một hàng trùng lặp nhưng nó không loại bỏ chúng
quý 2. Các hàng trùng lặp được xác định như thế nào khi nhiều cột được chuyển đến tham số tập hợp con?
Câu trả lờiCâu trả lời. Khi nhiều cột được chuyển đến tham số tập hợp con, phương thức sẽ chỉ coi một hàng là trùng lặp nếu giá trị của tất cả các cột được chỉ định trong hàng đó khớp với giá trị của các cột được chỉ định trong hàng khác
Q3. Viết mã để xóa tất cả các phiên bản của các hàng trùng lặp khỏi DataFrame df ngoài phiên bản đầu tiên của các hàng
Câu trả lờiCâu trả lời
0 False
1 False
2 False
3 False
4 True
5 False
6 True
7 False
dtype: bool
70 False
1 False
2 False
3 False
4 True
5 False
6 True
7 False
dtype: bool
8Q4. Viết mã để xóa tất cả các phiên bản của các hàng trùng lặp khỏi DataFrame df ngoài phiên bản cuối cùng của các hàng
Câu trả lờiCâu trả lời
0 False
1 False
2 False
3 False
4 True
5 False
6 True
7 False
dtype: bool
90 False
1 False
2 False
3 False
4 True
5 False
6 True
7 False
dtype: bool
8Q5. Viết mã để tìm kiếm các giá trị trùng lặp trong các cột col_1 và col_2 trong DataFrame df
Câu trả lờiCâu trả lời.
# Use the keep parameter to consider only the first instance of a duplicate row to be unique
bool_series = df.duplicated[keep='first']
print['Boolean series:']
print[bool_series]
print['\n']
print['DataFrame after keeping only the first instance of the duplicate rows:']
# The `~` sign is used for negation. It changes the boolean value True to False and False to True.
df[~bool_series]
1Bài viết được đóng góp bởi Shreyansh B và Shri Varsheni
Trong bài viết này, bạn sẽ tìm hiểu cách sử dụng phương pháp này để xác định các hàng trùng lặp trong DataFrame. Bạn cũng sẽ biết một số mẹo thiết thực để sử dụng phương pháp này
Tạo một khung dữ liệu
# Create a DataFrame
import pandas as pd
data_df = {'Name': ['Arpit', 'Riya', 'Priyanka', 'Aman', 'Arpit', 'Rohan', 'Riya', 'Sakshi'],
'Employment Type': ['Full-time Employee', 'Part-time Employee', 'Intern', 'Intern',
'Full-time Employee', 'Part-time Employee', 'Part-time Employee', 'Full-time Employee'],
'Department': ['Administration', 'Marketing', 'Technical', 'Marketing',
'Administration', 'Technical', 'Marketing', 'Administration']}
df = pd.DataFrame[data_df]
df
Cũng đọc. tạo và tải DataFrames.
gấu trúc. Khung dữ liệu. trùng lặp[]
- cú pháp. gấu trúc. Khung dữ liệu. trùng lặp[subset=None, keep= ‘first’]Mục đích. Để xác định các hàng trùng lặp trong DataFrame
- Thông số
- tập hợp con. [mặc định. Không có]. Nó được sử dụng để chỉ định các cột cụ thể trong đó các giá trị trùng lặp sẽ được tìm kiếm
- giữ. 'đầu tiên' hoặc 'cuối cùng' hoặc Sai [mặc định. 'đầu tiên']. Nó được sử dụng để chỉ định phiên bản nào của các hàng lặp lại sẽ được xác định là một hàng duy nhất
- trả lại. Một chuỗi Boolean trong đó giá trị True biểu thị rằng hàng tại chỉ mục tương ứng là trùng lặp và Sai biểu thị rằng hàng là duy nhất
Sử dụng Khung dữ liệu. chức năng trùng lặp []
Khi bạn trực tiếp sử dụng hàm
0 False
1 False
2 False
3 False
4 True
5 False
6 True
7 False
dtype: bool
6, các giá trị mặc định sẽ được chuyển đến các tham số để tìm kiếm các hàng trùng lặp trong DataFrame# Use the DataFrame.duplicated[] method to return a series of boolean values
bool_series = df.duplicated[]
0 False
1 False
2 False
3 False
4 True
5 False
6 True
7 False
dtype: bool
Sử dụng tham số giữ
Bạn có thể sử dụng tham số keep để chỉ định trường hợp lặp lại nào sẽ được coi là duy nhất và các trường hợp còn lại sẽ được coi là trùng lặp
Đặt giữ là 'đầu tiên'
Giá trị mặc định của tham số giữ là 'đầu tiên'. Điều đó có nghĩa là phương thức sẽ coi phiên bản đầu tiên của một hàng là duy nhất và các phiên bản còn lại là trùng lặp
Hãy thử loại bỏ các hàng trùng lặp
# Use the keep parameter to consider only the first instance of a duplicate row to be unique
bool_series = df.duplicated[keep='first']
print['Boolean series:']
print[bool_series]
print['\n']
print['DataFrame after keeping only the first instance of the duplicate rows:']
# The `~` sign is used for negation. It changes the boolean value True to False and False to True.
df[~bool_series]
_______6Như bạn có thể thấy, hàng thứ năm và hàng thứ bảy đã được xác định là trùng lặp. Hàng thứ năm là một bản sao của hàng đầu tiên và hàng thứ bảy là một bản sao của hàng thứ hai. Do đó, chúng đã bị xóa khỏi DataFrame
Đặt giữ là 'cuối cùng'
Khi bạn đặt giá trị của tham số này là 'cuối cùng', phương thức sẽ coi phiên bản cuối cùng của một hàng là duy nhất và các phiên bản còn lại là trùng lặp
Hãy thử loại bỏ các hàng trùng lặp
# Use the keep parameter to consider only the last instance of a duplicate row to be unique
bool_series = df.duplicated[keep='last']
print['Boolean series:']
print[bool_series]
print['\n']
print['DataFrame after keeping only the last instance of the duplicate rows:']
# The `~` sign is used for negation. It changes the boolean value True to False and False to True
df[~bool_series]
Boolean series:
0 True
1 True
2 False
3 False
4 False
5 False
6 False
7 False
dtype: bool
DataFrame after keeping only the last instance of the duplicate rows:
Ở đây, hàng thứ nhất và hàng thứ hai được xác định là trùng lặp trong khi hàng thứ năm và thứ bảy được coi là duy nhất.
Đặt giữ là Sai
Nếu bạn đặt giá trị của keep là giá trị boolean Sai, thì phương thức sẽ coi tất cả các trường hợp của một hàng là trùng lặp
Hãy thử loại bỏ các hàng trùng lặp
# Use the keep parameter to consider all instances of a row to be duplicates
bool_series = df.duplicated[keep=False]
print['Boolean series:']
print[bool_series]
print['\n']
print['DataFrame after removing all the instances of the duplicate rows:']
# The `~` sign is used for negation. It changes the boolean value True to False and False to True
df[~bool_series]
# Create a DataFrame
import pandas as pd
data_df = {'Name': ['Arpit', 'Riya', 'Priyanka', 'Aman', 'Arpit', 'Rohan', 'Riya', 'Sakshi'],
'Employment Type': ['Full-time Employee', 'Part-time Employee', 'Intern', 'Intern',
'Full-time Employee', 'Part-time Employee', 'Part-time Employee', 'Full-time Employee'],
'Department': ['Administration', 'Marketing', 'Technical', 'Marketing',
'Administration', 'Technical', 'Marketing', 'Administration']}
df = pd.DataFrame[data_df]
df
0Sử dụng tham số tập hợp con
Tham số tập hợp con được sử dụng để chỉ định các cột trong đó các mục trùng lặp sẽ được tìm kiếm.
Sau khi bạn đã chỉ định các cột, phương thức sẽ tìm kiếm các hàng trùng lặp bằng cách so sánh giá trị của chỉ các cột đã chỉ định giữa các hàng.
Điều này cực kỳ hữu ích vì bạn có thể chỉ quan tâm đến việc tìm các giá trị trùng lặp cho chỉ một vài cột
# Create a DataFrame
import pandas as pd
data_df = {'Name': ['Arpit', 'Riya', 'Priyanka', 'Aman', 'Arpit', 'Rohan', 'Riya', 'Sakshi'],
'Employment Type': ['Full-time Employee', 'Part-time Employee', 'Intern', 'Intern',
'Full-time Employee', 'Part-time Employee', 'Part-time Employee', 'Full-time Employee'],
'Department': ['Administration', 'Marketing', 'Technical', 'Marketing',
'Administration', 'Technical', 'Marketing', 'Administration']}
df = pd.DataFrame[data_df]
df
1# Use the DataFrame.duplicated[] method to return a series of boolean values
bool_series = df.duplicated[]
0Mẹo thiết thực
- Nếu bạn không sử dụng tham số tập hợp con, thì tất cả các giá trị trong các hàng cần phải giống nhau để được xác định là trùng lặp
- Bạn cũng có thể chuyển nhiều cột vào tham số tập hợp con. Tuy nhiên, hãy nhớ rằng, tất cả các giá trị của các cột được chỉ định phải giống nhau trong các hàng để coi chúng là trùng lặp
# Use the DataFrame.duplicated[] method to return a series of boolean values
bool_series = df.duplicated[]
1# Use the DataFrame.duplicated[] method to return a series of boolean values
bool_series = df.duplicated[]
2- Mặc dù phương thức này trả về một chuỗi chỉ xác định các hàng trùng lặp trong DataFrame, nhưng bạn có thể sử dụng chuỗi này để tập hợp con DataFrame sao cho nó chỉ chứa các giá trị duy nhất.
Kiểm tra kiến thức của bạn
Q1. Giá trị Sai cho tham số giữ được sử dụng để xóa tất cả các hàng trùng lặp khỏi Khung dữ liệu. Đúng hay sai?
Câu trả lờiCâu trả lời. Sai. Giá trị Sai xác định tất cả các trường hợp của một hàng trùng lặp nhưng nó không loại bỏ chúng
quý 2. Các hàng trùng lặp được xác định như thế nào khi nhiều cột được chuyển đến tham số tập hợp con?
Câu trả lờiCâu trả lời. Khi nhiều cột được chuyển đến tham số tập hợp con, phương thức sẽ chỉ coi một hàng là trùng lặp nếu giá trị của tất cả các cột được chỉ định trong hàng đó khớp với giá trị của các cột được chỉ định trong hàng khác
Q3. Viết mã để xóa tất cả các phiên bản của các hàng trùng lặp khỏi DataFrame df ngoài phiên bản đầu tiên của các hàng
Câu trả lờiCâu trả lời
0 False
1 False
2 False
3 False
4 True
5 False
6 True
7 False
dtype: bool
70 False
1 False
2 False
3 False
4 True
5 False
6 True
7 False
dtype: bool
8Q4. Viết mã để xóa tất cả các phiên bản của các hàng trùng lặp khỏi DataFrame df ngoài phiên bản cuối cùng của các hàng
Câu trả lờiCâu trả lời
0 False
1 False
2 False
3 False
4 True
5 False
6 True
7 False
dtype: bool
90 False
1 False
2 False
3 False
4 True
5 False
6 True
7 False
dtype: bool
8Q5. Viết mã để tìm kiếm các giá trị trùng lặp trong các cột col_1 và col_2 trong DataFrame df
Câu trả lờiCâu trả lời.
# Use the keep parameter to consider only the first instance of a duplicate row to be unique
bool_series = df.duplicated[keep='first']
print['Boolean series:']
print[bool_series]
print['\n']
print['DataFrame after keeping only the first instance of the duplicate rows:']
# The `~` sign is used for negation. It changes the boolean value True to False and False to True.
df[~bool_series]
1Bài viết được đóng góp bởi Shreyansh B và Shri Varsheni
MáyHọcPlus
Machine Learning Plus được tạo thành từ một nhóm những người nhiệt tình đam mê Khoa học dữ liệu. Họ giúp các Nhà phát triển, Nhà quản lý doanh nghiệp và Nhà khoa học dữ liệu tuyệt vời trở nên giỏi hơn trong công việc của họ