Hướng dẫn remove duplicates from 2d array python - loại bỏ các bản sao khỏi python mảng 2d

Sử dụng

Input Array  : [1,2,3,4,4,5,6,7]  
5 để theo dõi các mục đã thấy:

>>> mylist = [['Installation', '64%'], ['C2', '14%'], ['NA', '14%'], ['C2', '14%'], ['NA', '14%'], ['na', '7%']]
>>> seen = set[]
>>> newlist = []
>>> for item in mylist:
...     t = tuple[item]
...     if t not in seen:
...         newlist.append[item]
...         seen.add[t]
...
>>> newlist
[['Installation', '64%'], ['C2', '14%'], ['NA', '14%'], ['na', '7%']]

GHI CHÚ

Bạn cần chuyển đổi một danh sách thành tuple [danh sách không thể băm]; Không thể thêm một danh sách để đặt.

>>> seen = set[]
>>> seen.add[[1,2]]
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: unhashable type: 'list'
>>> seen.add[tuple[[1,2]]]
>>>

Trong bài viết này, chúng ta sẽ tìm hiểu cách loại bỏ các phần tử trùng lặp hoặc hàng hoặc cột khỏi một mảng numpy trong Python.

Mục lục

  • Xóa các bản sao khỏi mảng numpy bằng phương thức độc đáo []
    • Xóa các yếu tố trùng lặp khỏi mảng 1d numpy
    • Xóa các hàng trùng lặp khỏi mảng 2d numpy
    • Xóa các cột trùng lặp khỏi mảng 2d numpy
  • Xóa các bản sao khỏi mảng numpy bằng phương thức set []
  • Sử dụng phương thức duy nhất [] cùng với tham số return_index
  • Loại bỏ các bản sao khỏi một mảng numpy 1D bằng cách lặp lại
  • Xóa các bản sao khỏi mảng 2D bằng cách lặp lại mảng
  • Sử dụng các phương thức numpy.lexsort [] và np.diff []

Với một mảng numpy, chúng ta cần loại bỏ các bản sao, tức là các yếu tố đang lặp lại nhiều lần từ mảng. Ví dụ: nếu mảng numpy đầu vào của chúng tôi là,

Input Array  : [1,2,3,4,4,5,6,7]  

Sau đó, sau khi xóa các yếu tố trùng lặp khỏi mảng vô cùng này, nội dung của chúng tôi phải giống như,

Output Array : [1,2,3,4,5,6,7] 

Có nhiều cách loại bỏ các bản sao khỏi một mảng numpy. Hãy để thảo luận về tất cả các phương pháp từng một với cách tiếp cận phù hợp và ví dụ về mã làm việc

Quảng cáo

Xóa các bản sao khỏi mảng numpy bằng phương thức độc đáo []

Xóa các yếu tố trùng lặp khỏi mảng 1d numpy

Syntax:

numpy.unique[arr, return_index=False, return_inverse=False, return_counts=False, axis=None] 

Parameters:
arr            = The array to be passed to the function.
return_index   = If True, returns the indices of unique array
return_inverse = If True, also returns the indices of unique array
axis           = Axis 0 represents rows and axis 1 represents columns, if no axis is provided then the input array will be flattened i.e treated as a 1d array

Xóa các yếu tố trùng lặp khỏi mảng 1d numpy

Cách tiếp cận :

  • Xóa các hàng trùng lặp khỏi mảng 2d numpy
  • Xóa các cột trùng lặp khỏi mảng 2d numpy
  • Xóa các bản sao khỏi mảng numpy bằng phương thức set []
  • Sử dụng phương thức duy nhất [] cùng với tham số return_index
import numpy as np

# Create a NumPy Aray
data = np.array[[1,2,3,4,4,5,6,7]]

# Pass array to the unique function
# It will remove the duplicates.
data = np.unique[data]

print[data]

Output:

[1 2 3 4 5 6 7]

Loại bỏ các bản sao khỏi một mảng numpy 1D bằng cách lặp lại

Xóa các hàng trùng lặp khỏi mảng 2d numpy

Xóa các cột trùng lặp khỏi mảng 2d numpy

  • Xóa các bản sao khỏi mảng numpy bằng phương thức set []
  • Sử dụng phương thức duy nhất [] cùng với tham số return_index
  • Loại bỏ các bản sao khỏi một mảng numpy 1D bằng cách lặp lại
  • Sử dụng phương thức duy nhất [] cùng với tham số return_index

Mã nguồn

import numpy as np

# create numpy arrays
data = np.array[[[1,2,3],
                 [3,2,1],
                 [7,8,9],
                 [9,8,9],
                 [7,8,9]]]

# Delete duplicate rows from 2D NumPy Array
data = np.unique[data, axis=0]

print[data]

OUTPUT:

[[1 2 3]
 [3 2 1]
 [7 8 9]
 [9 8 9]]

Nó đã loại bỏ tất cả các hàng trùng lặp khỏi mảng 2d numpy

Xóa các cột trùng lặp khỏi mảng 2d numpy

Xóa các bản sao khỏi mảng numpy bằng phương thức set []

  • Xóa các bản sao khỏi mảng numpy bằng phương thức set []
  • Sử dụng phương thức duy nhất [] cùng với tham số return_index
  • Loại bỏ các bản sao khỏi một mảng numpy 1D bằng cách lặp lại

Mã nguồn

import numpy as np

# create numpy arrays
data = np.array[[[1, 14, 3, 14, 14],
                 [3, 13, 1, 13, 13],
                 [7, 12, 9, 12, 12],
                 [9, 11, 9, 11, 11],
                 [7, 10, 9, 10, 10]]]

# Remove Duplicate columns from 2D NumPy Array
data = np.unique[data, axis=1]

print[data]

Output:

>>> seen = set[]
>>> seen.add[[1,2]]
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: unhashable type: 'list'
>>> seen.add[tuple[[1,2]]]
>>>
0

Xóa các bản sao khỏi mảng numpy bằng phương thức set []

Phương thức SET [] là một phương thức tích hợp trong Python lấy một đầu vào có thể lặp lại và trả về một tập hợp có thể chỉ có các yếu tố riêng biệt.

Syntax:

>>> seen = set[]
>>> seen.add[[1,2]]
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: unhashable type: 'list'
>>> seen.add[tuple[[1,2]]]
>>>
1

Hãy để sử dụng chức năng này để xóa các hàng trùng lặp khỏi mảng 2D numpy.

Cách tiếp cận :

  • Nhập thư viện Numpy và tạo một mảng Numpy
  • Lặp lại trên mỗi hàng mảng 2D và nhận nội dung hàng dưới dạng tuple vì mảng numpy không thể đo được
  • Chuyển các bộ dữ liệu Hashable Row cho SET []
  • Phương thức SET [] sẽ trả về một trình lặp với các phần tử/bộ dữ liệu duy nhất
  • Sử dụng numpy.vstack [], chúng tôi sẽ tham gia mảng theo chiều dọc.
  • In mảng kết quả.

Mã nguồn

>>> seen = set[]
>>> seen.add[[1,2]]
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: unhashable type: 'list'
>>> seen.add[tuple[[1,2]]]
>>>
2

OUTPUT:

>>> seen = set[]
>>> seen.add[[1,2]]
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: unhashable type: 'list'
>>> seen.add[tuple[[1,2]]]
>>>
3

Sử dụng phương thức duy nhất [] cùng với tham số return_index

Xóa các hàng trùng lặp khỏi mảng 2d Numpy bằng hàm độc đáo []

Phương thức duy nhất [] là một phương thức tích hợp trong Numpy lấy một mảng làm đầu vào và trả về một mảng duy nhất bằng cách loại bỏ tất cả các phần tử trùng lặp.

Trong trường hợp này, chúng tôi cần loại bỏ các bản sao của mảng đã cho, vì vậy chúng tôi tạo một mảng ngẫu nhiên với độ dài dưới dạng số cột trong mảng gốc và chúng tôi sẽ nhân mảng ngẫu nhiên với mảng đã cho. Mảng kết quả sẽ được truyền dưới dạng đối số đầu vào cho phương thức duy nhất [] với tham số return_index là đúng, vì vậy phương thức này sẽ trả về chỉ mục của mảng duy nhất. Chỉ số sẽ cung cấp cho chúng tôi một mảng duy nhất.

Syntax:

>>> seen = set[]
>>> seen.add[[1,2]]
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: unhashable type: 'list'
>>> seen.add[tuple[[1,2]]]
>>>
4

Cách tiếp cận :

  1. Nhập thư viện Numpy và tạo một mảng Numpy
  2. Lặp lại trên mỗi hàng mảng 2D và nhận nội dung hàng dưới dạng tuple vì mảng numpy không thể đo được
  3. Chuyển các bộ dữ liệu Hashable Row cho SET []
  4. Phương thức SET [] sẽ trả về một trình lặp với các phần tử/bộ dữ liệu duy nhất
  5. Sử dụng numpy.vstack [], chúng tôi sẽ tham gia mảng theo chiều dọc.
  6. In mảng kết quả.

Mã nguồn

>>> seen = set[]
>>> seen.add[[1,2]]
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: unhashable type: 'list'
>>> seen.add[tuple[[1,2]]]
>>>
5

OUTPUT:

>>> seen = set[]
>>> seen.add[[1,2]]
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: unhashable type: 'list'
>>> seen.add[tuple[[1,2]]]
>>>
6

Sử dụng phương thức duy nhất [] cùng với tham số return_index

Xóa các hàng trùng lặp khỏi mảng 2d Numpy bằng hàm độc đáo []

Cách tiếp cận :

  1. Nhập thư viện Numpy và tạo một mảng Numpy
  2. Lặp lại trên mỗi hàng mảng 2D và nhận nội dung hàng dưới dạng tuple vì mảng numpy không thể đo được
  3. Chuyển các bộ dữ liệu Hashable Row cho SET []
  4. Phương thức SET [] sẽ trả về một trình lặp với các phần tử/bộ dữ liệu duy nhất
  5. Sử dụng numpy.vstack [], chúng tôi sẽ tham gia mảng theo chiều dọc.

Mã nguồn

>>> seen = set[]
>>> seen.add[[1,2]]
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: unhashable type: 'list'
>>> seen.add[tuple[[1,2]]]
>>>
7

OUTPUT:

>>> seen = set[]
>>> seen.add[[1,2]]
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: unhashable type: 'list'
>>> seen.add[tuple[[1,2]]]
>>>
8

In mảng kết quả.

Sử dụng phương thức duy nhất [] cùng với tham số return_index

Cách tiếp cận :

  1. Nhập thư viện Numpy và tạo một mảng Numpy
  2. Lặp lại trên mỗi hàng mảng 2D và nhận nội dung hàng dưới dạng tuple vì mảng numpy không thể đo được
  3. Chuyển các bộ dữ liệu Hashable Row cho SET []
  4. Phương thức SET [] sẽ trả về một trình lặp với các phần tử/bộ dữ liệu duy nhất
  5. Sử dụng numpy.vstack [], chúng tôi sẽ tham gia mảng theo chiều dọc.

Mã nguồn

>>> seen = set[]
>>> seen.add[[1,2]]
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: unhashable type: 'list'
>>> seen.add[tuple[[1,2]]]
>>>
9

OUTPUT:

Input Array  : [1,2,3,4,4,5,6,7]  
0

In mảng kết quả.

lexsort[]

Sử dụng phương thức duy nhất [] cùng với tham số return_index

Syntax:

Input Array  : [1,2,3,4,4,5,6,7]  
1

numpy.diff[]

Xóa các hàng trùng lặp khỏi mảng 2d Numpy bằng hàm độc đáo []

Syntax:

Input Array  : [1,2,3,4,4,5,6,7]  
2

Phương thức duy nhất [] là một phương thức tích hợp trong Numpy lấy một mảng làm đầu vào và trả về một mảng duy nhất bằng cách loại bỏ tất cả các phần tử trùng lặp.

Cách tiếp cận :

  1. Nhập thư viện Numpy và tạo một mảng Numpy
  2. Lặp lại trên mỗi hàng mảng 2D và nhận nội dung hàng dưới dạng tuple vì mảng numpy không thể đo được
  3. Chuyển các bộ dữ liệu Hashable Row cho SET []
  4. Phương thức SET [] sẽ trả về một trình lặp với các phần tử/bộ dữ liệu duy nhất
  5. Sử dụng numpy.vstack [], chúng tôi sẽ tham gia mảng theo chiều dọc.
  6. In mảng kết quả.

    Sử dụng phương thức duy nhất [] cùng với tham số return_index

Mã nguồn

Input Array  : [1,2,3,4,4,5,6,7]  
3

OUTPUT:

Input Array  : [1,2,3,4,4,5,6,7]  
0

Xóa các hàng trùng lặp khỏi mảng 2d Numpy bằng hàm độc đáo []

Phương thức duy nhất [] là một phương thức tích hợp trong Numpy lấy một mảng làm đầu vào và trả về một mảng duy nhất bằng cách loại bỏ tất cả các phần tử trùng lặp.

Trong trường hợp này, chúng tôi cần loại bỏ các bản sao của mảng đã cho, vì vậy chúng tôi tạo một mảng ngẫu nhiên với độ dài dưới dạng số cột trong mảng gốc và chúng tôi sẽ nhân mảng ngẫu nhiên với mảng đã cho. Mảng kết quả sẽ được truyền dưới dạng đối số đầu vào cho phương thức duy nhất [] với tham số return_index là đúng, vì vậy phương thức này sẽ trả về chỉ mục của mảng duy nhất. Chỉ số sẽ cung cấp cho chúng tôi một mảng duy nhất.

Làm thế nào để bạn loại bỏ các bản sao từ một mảng hai chiều trong Python?

Để loại bỏ các hàng trùng lặp khỏi một mảng 2D, hãy sử dụng các bước sau,..
Nhập thư viện Numpy và tạo một mảng numpy ..
Chuyển mảng cho trục duy nhất [] trục = 0 tham số ..
Hàm sẽ trả về mảng duy nhất ..
In mảng kết quả ..

Làm thế nào để bạn loại bỏ các bản sao khỏi một mảng python?

Làm thế nào để dễ dàng loại bỏ các bản sao khỏi danh sách Python [2022]..
Sử dụng từ khóa Del. Chúng tôi sử dụng từ khóa DEL để xóa các đối tượng khỏi danh sách với vị trí chỉ mục của chúng. ....
Sử dụng vòng lặp. Chúng tôi sử dụng vòng lặp để lặp qua một số ít có thể: ví dụ, một danh sách Python. ....
Sử dụng Set. ....
Sử dụng dict. ....
Sử dụng quầy và freqdist.....
Sử dụng PD ..

Làm thế nào để bạn tìm thấy các bản sao trong một mảng 2D?

Đây là một cách thức các bản sao thẳng tiến.Biến mảng 2D thành mảng 1D [danh sách], sau đó lặp qua mảng 1D đếm các bản sao khi bạn tìm thấy chúng và loại bỏ chúng để bạn không đếm chúng nhiều hơn một lần.Turn the 2d array into a 1d array [ List ], then loop through the 1d array counting the duplicates as you find them and removing them so you don't count them more than once.

Làm cách nào để loại bỏ sự lặp lại trong Python?

Để loại bỏ các bản sao khỏi danh sách trong Python, lặp lại thông qua các yếu tố của danh sách và lưu trữ sự xuất hiện đầu tiên của một yếu tố trong một danh sách tạm thời trong khi bỏ qua bất kỳ sự xuất hiện nào khác của yếu tố đó.Cách tiếp cận cơ bản được thực hiện trong phương pháp ngây thơ bằng cách: Sử dụng vòng lặp để vượt qua danh sách.iterate through the elements of the list and store the first occurrence of an element in a temporary list while ignoring any other occurrences of that element. The basic approach is implemented in the naive method by: Using a For-loop to traverse the list.

Bài Viết Liên Quan

Chủ Đề