Làm thế nào để bạn sử dụng bản sao trong python?

Đ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[]
9

Trong 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ách

Như 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ác

Mộ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]
_______6

Như 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
0

Sử 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[]
0

Mẹo thiết thực

  1. 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
  2. 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ời

Câ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ời

Câ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ời

Câu trả lời

0    False
1    False
2    False
3    False
4     True
5    False
6     True
7    False
dtype: bool
7

0    False
1    False
2    False
3    False
4     True
5    False
6     True
7    False
dtype: bool
8

Q4. 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ời

Câu trả lời

0    False
1    False
2    False
3    False
4     True
5    False
6     True
7    False
dtype: bool
9

0    False
1    False
2    False
3    False
4     True
5    False
6     True
7    False
dtype: bool
8

Q5. 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ời

Câ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]
1

Bà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]
_______6

Như 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
0

Sử 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[]
0

Mẹo thiết thực

  1. 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
  2. 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ời

Câ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ời

Câ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ời

Câu trả lời

0    False
1    False
2    False
3    False
4     True
5    False
6     True
7    False
dtype: bool
7

0    False
1    False
2    False
3    False
4     True
5    False
6     True
7    False
dtype: bool
8

Q4. 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ời

Câu trả lời

0    False
1    False
2    False
3    False
4     True
5    False
6     True
7    False
dtype: bool
9

0    False
1    False
2    False
3    False
4     True
5    False
6     True
7    False
dtype: bool
8

Q5. 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ời

Câ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]
1

Bà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ọ

Làm cách nào để tìm các bản sao trong Python?

Nhiều cách để kiểm tra xem có tồn tại trùng lặp trong danh sách Python hay không .
Độ dài của Danh sách và độ dài của Tập hợp khác nhau
Kiểm tra từng phần tử trong tập hợp. nếu có, dup, nếu không, thêm
Kiểm tra danh sách. đếm [] cho từng phần tử

Bản sao trong Python có nghĩa là gì?

Nếu một số nguyên hoặc chuỗi hoặc bất kỳ mục nào trong danh sách được lặp lại nhiều lần thì chúng là bản sao.

Python xử lý dữ liệu trùng lặp như thế nào?

Phương thức pandas drop_duplicates[] giúp loại bỏ các bản sao khỏi Khung dữ liệu Pandas trong Python. .
tập hợp con. Tập hợp con lấy một cột hoặc danh sách nhãn cột. .
giữ. keep là để kiểm soát cách xem xét giá trị trùng lặp

Làm cách nào để sử dụng chức năng trùng lặp trong gấu trúc?

Dòng gấu trúc. hàm sao chép [] .
cú pháp. Loạt. trùng lặp [bản thân, giữ = 'đầu tiên']
Thông số. .
trả lại. Chuỗi cho biết mỗi giá trị có xuất hiện trong các giá trị trước đó hay không
Ví dụ - Theo mặc định, đối với mỗi bộ giá trị trùng lặp, lần xuất hiện đầu tiên được đặt thành Sai và tất cả các giá trị khác thành True

Chủ Đề