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.