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]]]
>>>
0Xó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]]]
>>>
1Hã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]]]
>>>
2OUTPUT:
>>> seen = set[]
>>> seen.add[[1,2]]
Traceback [most recent call last]:
File "", line 1, in
TypeError: unhashable type: 'list'
>>> seen.add[tuple[[1,2]]]
>>>
3Sử 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]]]
>>>
4Cá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]]]
>>>
5OUTPUT:
>>> seen = set[]
>>> seen.add[[1,2]]
Traceback [most recent call last]:
File "", line 1, in
TypeError: unhashable type: 'list'
>>> seen.add[tuple[[1,2]]]
>>>
6Sử 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 :
- 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.
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]]]
>>>
7OUTPUT:
>>> seen = set[]
>>> seen.add[[1,2]]
Traceback [most recent call last]:
File "", line 1, in
TypeError: unhashable type: 'list'
>>> seen.add[tuple[[1,2]]]
>>>
8In 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 :
- 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.
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]]]
>>>
9OUTPUT:
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 :
- 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ả.
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.