NumPy Set Operations


Bộ là gì

Một tập hợp trong toán học là một tập hợp các phần tử duy nhất.

Các tập hợp được sử dụng cho các phép toán liên quan đến các phép toán giao nhau, liên hợp và chênh lệch thường xuyên.


Tạo Bộ trong NumPy

Chúng ta có thể sử dụng phương pháp của NumPy unique()để tìm các phần tử duy nhất từ ​​bất kỳ mảng nào. Ví dụ: tạo một mảng tập hợp, nhưng hãy nhớ rằng các mảng tập hợp chỉ nên là mảng 1-D.

Thí dụ

Chuyển đổi mảng sau có các phần tử lặp lại thành một tập hợp:

import numpy as np

arr = np.array([1, 1, 1, 2, 3, 4, 5, 5, 6, 7])

x = np.unique(arr)

print(x)

Tìm Liên minh

Để tìm các giá trị duy nhất của hai mảng, hãy sử dụng union1d()phương pháp này.

Thí dụ

Tìm hợp nhất của hai mảng tập hợp sau:

import numpy as np

arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([3, 4, 5, 6])

newarr = np.union1d(arr1, arr2)

print(newarr)

Tìm giao lộ

Để chỉ tìm các giá trị có trong cả hai mảng, hãy sử dụng intersect1d()phương pháp này.

Thí dụ

Tìm giao điểm của hai mảng tập hợp sau:

import numpy as np

arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([3, 4, 5, 6])

newarr = np.intersect1d(arr1, arr2, assume_unique=True)

print(newarr)

Lưu ý: phương intersect1d()thức nhận một đối số tùy chọn assume_unique, nếu được đặt thành True có thể tăng tốc độ tính toán. Nó phải luôn được đặt thành True khi xử lý các tập hợp.


Tìm kiếm sự khác biệt

Để chỉ tìm các giá trị trong tập đầu tiên KHÔNG có trong tập giây, hãy sử dụng setdiff1d()phương pháp này.

Thí dụ

Tìm sự khác biệt của set1 với set2:

import numpy as np

set1 = np.array([1, 2, 3, 4])
set2 = np.array([3, 4, 5, 6])

newarr = np.setdiff1d(set1, set2, assume_unique=True)

print(newarr)

Lưu ý: phương setdiff1d()thức nhận một đối số tùy chọn assume_unique, nếu được đặt thành True có thể tăng tốc độ tính toán. Nó phải luôn được đặt thành True khi xử lý các tập hợp.


Tìm sự khác biệt đối xứng

Để chỉ tìm các giá trị KHÔNG có trong CẢ HAI tập hợp, hãy sử dụng setxor1d()phương pháp này.

Thí dụ

Tìm hiệu số đối xứng của tập 1 và tập 2:

import numpy as np

set1 = np.array([1, 2, 3, 4])
set2 = np.array([3, 4, 5, 6])

newarr = np.setxor1d(set1, set2, assume_unique=True)

print(newarr)

Lưu ý: phương setxor1d()thức nhận một đối số tùy chọn assume_unique, nếu được đặt thành True có thể tăng tốc độ tính toán. Nó phải luôn được đặt thành True khi xử lý các tập hợp.