Trong bài đăng này, tôi sẽ viết về cách bạn có thể tạo mảng boolean trong NumPy và sử dụng chúng trong mã của mình Show
Tổng quan Mảng Boolean trong NumPy là các mảng NumPy đơn giản với các phần tử mảng là 'True' hoặc 'False'. Ngoài việc tạo mảng Boolean bằng cách viết từng phần tử một và chuyển đổi chúng thành mảng NumPy, chúng ta cũng có thể chuyển đổi một mảng thành mảng 'Boolean' theo một số cách dễ dàng mà chúng ta sẽ xem xét ở đây trong bài đăng này. Mảng Boolean sử dụng dtype=’bool’ trong NumPy – PythonHãy lấy một ví dụ import numpy as np import random array = [] for _ in range(10): num = random.randint(0,1) array.append(num) print(f'Original Array={array}') # prints the original array with 0's and 1's nump_array = np.array(array,dtype='bool') print(f'numpy boolean array:{nump_array}') # prints the converted boolean array Ở đây đầu ra sẽ trông giống như thế này. Mảng Boolean sử dụng so sánh trong NumPyVí dụ import numpy as np import random array = np.arange(10,30) print('1st array=',array,'\n') array_bool = array > 15 print(f'First boolean array by comparing with an element:\n{array_bool}\n\n') array_2 = [random.randint(10,30) for i in range(20)] # second array using list comprehension print(f'Second array:\n{array_2}') array2_bool = array_2 > array print(f'second boolean array by comparing second array with 1st array:\n{array2_bool}') Trong đoạn mã trên, tôi đã tạo 'mảng' được tạo bằng hàm print(A < 5)2. Và các phần tử từ 10 đến 30 (20 phần tử). Bây giờ hãy tạo mảng boolean (array_bool) bằng cách so sánh nó với 15 nếu các phần tử lớn hơn 15 thì chúng được ghi là Đúng, ngược lại là Sai. Mảng thứ hai được tạo bằng kỹ thuật 'Hiểu danh sách' đơn giản. Và có cùng độ dài với 'mảng' và các phần tử là ngẫu nhiên trong khoảng từ 10 đến 30(đã bao gồm). Bây giờ, mảng boolean thứ hai được tạo bằng cách so sánh giữa các phần tử của mảng thứ nhất với mảng thứ hai có cùng chỉ số đầu ra **Ghi chú. Điều này được gọi là 'Lập chỉ mục Boolean' và có thể được sử dụng theo nhiều cách, một trong số chúng được sử dụng để trích xuất tính năng trong học máy. Hoặc đơn giản hơn, người ta có thể nghĩ đến việc trích xuất một mảng số chẵn/lẻ từ một mảng 100 số Mọi phần tử của Mảng A đều được kiểm tra, nếu nó bằng 4. Kết quả của các phép thử này là các phần tử Boolean của mảng kết quả Of course, it is also possible to check on "<", "<=", ">" and ">=". print(A < 5) ĐẦU RA[ True False True True True False] Nó cũng hoạt động cho kích thước cao hơn B = np.array([[42,56,89,65], [99,88,42,12], [55,42,17,18]]) print(B>=42) ĐẦU RA[[ True True True True] [ True True True False] [ True True False False]] Đó là một cách thuận tiện để ngưỡng hình ảnh import numpy as np A = np.array([ [12, 13, 14, 12, 16, 14, 11, 10, 9], [11, 14, 12, 15, 15, 16, 10, 12, 11], [10, 12, 12, 15, 14, 16, 10, 12, 12], [ 9, 11, 16, 15, 14, 16, 15, 12, 10], [12, 11, 16, 14, 10, 12, 16, 12, 13], [10, 15, 16, 14, 14, 14, 16, 15, 12], [13, 17, 14, 10, 14, 11, 14, 15, 10], [10, 16, 12, 14, 11, 12, 14, 18, 11], [10, 19, 12, 14, 11, 12, 14, 18, 10], [14, 22, 17, 19, 16, 17, 18, 17, 13], [10, 16, 12, 14, 11, 12, 14, 18, 11], [10, 16, 12, 14, 11, 12, 14, 18, 11], [10, 19, 12, 14, 11, 12, 14, 18, 10], [14, 22, 12, 14, 11, 12, 14, 17, 13], [10, 16, 12, 14, 11, 12, 14, 18, 11]]) B = A < 15 B.astype(np.int8) ĐẦU RAarray([[1, 1, 1, 1, 0, 1, 1, 1, 1], [1, 1, 1, 0, 0, 0, 1, 1, 1], [1, 1, 1, 0, 1, 0, 1, 1, 1], [1, 1, 0, 0, 1, 0, 0, 1, 1], [1, 1, 0, 1, 1, 1, 0, 1, 1], [1, 0, 0, 1, 1, 1, 0, 0, 1], [1, 0, 1, 1, 1, 1, 1, 0, 1], [1, 0, 1, 1, 1, 1, 1, 0, 1], [1, 0, 1, 1, 1, 1, 1, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0, 1], [1, 0, 1, 1, 1, 1, 1, 0, 1], [1, 0, 1, 1, 1, 1, 1, 0, 1], [1, 0, 1, 1, 1, 1, 1, 0, 1], [1, 0, 1, 1, 1, 1, 1, 0, 1], [1, 0, 1, 1, 1, 1, 1, 0, 1]], dtype=int8) Nếu bạn xem kỹ kết quả trước đó, bạn sẽ thấy rằng chữ hoa 'A' bị ẩn trong mảng B Lập chỉ mục ưa thíchChúng tôi sẽ lập chỉ mục một mảng C trong ví dụ sau bằng cách sử dụng mặt nạ Boolean. Nó được gọi là lập chỉ mục ưa thích, nếu mảng được lập chỉ mục bằng cách sử dụng mảng boolean hoặc số nguyên (mặt nạ). Kết quả sẽ là một bản sao và không phải là một chế độ xem Trong ví dụ tiếp theo, chúng ta sẽ sử dụng mặt nạ Boolean của một mảng để chọn các phần tử tương ứng của một mảng khác. Mảng R mới chứa tất cả các phần tử của C trong đó giá trị tương ứng của (A<=5) là True ________số 8 ĐẦU RA[123 190 100] Đào tạo Python trực tiếp Thưởng thức trang này? Nhìn thấy. Tổng quan về các khóa học Python trực tiếp đăng ký tại đây Lập chỉ mục với một mảng số nguyênTrong ví dụ sau, chúng ta sẽ lập chỉ mục với một mảng số nguyên import numpy as np import random array = np.arange(10,30) print('1st array=',array,'\n') array_bool = array > 15 print(f'First boolean array by comparing with an element:\n{array_bool}\n\n') array_2 = [random.randint(10,30) for i in range(20)] # second array using list comprehension print(f'Second array:\n{array_2}') array2_bool = array_2 > array print(f'second boolean array by comparing second array with 1st array:\n{array2_bool}')00 ĐẦU RAimport numpy as np import random array = np.arange(10,30) print('1st array=',array,'\n') array_bool = array > 15 print(f'First boolean array by comparing with an element:\n{array_bool}\n\n') array_2 = [random.randint(10,30) for i in range(20)] # second array using list comprehension print(f'Second array:\n{array_2}') array2_bool = array_2 > array print(f'second boolean array by comparing second array with 1st array:\n{array2_bool}')01 Các chỉ số có thể xuất hiện theo mọi thứ tự và nhiều lần bài tậpTrích xuất từ mảng np. mảng ([3,4,6,10,24,89,45,43,46,99,100]) với Boolean che tất cả các số
Các giải phápimport numpy as np import random array = np.arange(10,30) print('1st array=',array,'\n') array_bool = array > 15 print(f'First boolean array by comparing with an element:\n{array_bool}\n\n') array_2 = [random.randint(10,30) for i in range(20)] # second array using list comprehension print(f'Second array:\n{array_2}') array2_bool = array_2 > array print(f'second boolean array by comparing second array with 1st array:\n{array2_bool}')02 ĐẦU RAimport numpy as np import random array = np.arange(10,30) print('1st array=',array,'\n') array_bool = array > 15 print(f'First boolean array by comparing with an element:\n{array_bool}\n\n') array_2 = [random.randint(10,30) for i in range(20)] # second array using list comprehension print(f'Second array:\n{array_2}') array2_bool = array_2 > array print(f'second boolean array by comparing second array with 1st array:\n{array2_bool}')03 khác không và ở đâuCó một phương thức ndarray được gọi là nonzero và một phương thức numpy có tên này. Hai chức năng là tương đương Đối với một ndarray cả hai numpy. khác không (a) và a. nonzero() trả về chỉ số của các phần tử khác không. Các chỉ số được trả về dưới dạng một bộ mảng, một mảng cho mỗi thứ nguyên của 'a'. Các giá trị khác không tương ứng có thể thu được với print(A < 5)6 import numpy as np import random array = np.arange(10,30) print('1st array=',array,'\n') array_bool = array > 15 print(f'First boolean array by comparing with an element:\n{array_bool}\n\n') array_2 = [random.randint(10,30) for i in range(20)] # second array using list comprehension print(f'Second array:\n{array_2}') array2_bool = array_2 > array print(f'second boolean array by comparing second array with 1st array:\n{array2_bool}')04 ĐẦU RAimport numpy as np import random array = np.arange(10,30) print('1st array=',array,'\n') array_bool = array > 15 print(f'First boolean array by comparing with an element:\n{array_bool}\n\n') array_2 = [random.randint(10,30) for i in range(20)] # second array using list comprehension print(f'Second array:\n{array_2}') array2_bool = array_2 > array print(f'second boolean array by comparing second array with 1st array:\n{array2_bool}')05 Nếu bạn muốn nhóm các chỉ số theo phần tử, bạn có thể sử dụng hoán vị print(A < 5)7 Một mảng hai chiều được trả về. Mỗi hàng tương ứng với một phần tử khác không import numpy as np import random array = np.arange(10,30) print('1st array=',array,'\n') array_bool = array > 15 print(f'First boolean array by comparing with an element:\n{array_bool}\n\n') array_2 = [random.randint(10,30) for i in range(20)] # second array using list comprehension print(f'Second array:\n{array_2}') array2_bool = array_2 > array print(f'second boolean array by comparing second array with 1st array:\n{array2_bool}')06 ĐẦU RAimport numpy as np import random array = np.arange(10,30) print('1st array=',array,'\n') array_bool = array > 15 print(f'First boolean array by comparing with an element:\n{array_bool}\n\n') array_2 = [random.randint(10,30) for i in range(20)] # second array using list comprehension print(f'Second array:\n{array_2}') array2_bool = array_2 > array print(f'second boolean array by comparing second array with 1st array:\n{array2_bool}')07 Các giá trị khác không tương ứng có thể được truy xuất bằng import numpy as np import random array = np.arange(10,30) print('1st array=',array,'\n') array_bool = array > 15 print(f'First boolean array by comparing with an element:\n{array_bool}\n\n') array_2 = [random.randint(10,30) for i in range(20)] # second array using list comprehension print(f'Second array:\n{array_2}') array2_bool = array_2 > array print(f'second boolean array by comparing second array with 1st array:\n{array2_bool}')08 ĐẦU RAimport numpy as np import random array = np.arange(10,30) print('1st array=',array,'\n') array_bool = array > 15 print(f'First boolean array by comparing with an element:\n{array_bool}\n\n') array_2 = [random.randint(10,30) for i in range(20)] # second array using list comprehension print(f'Second array:\n{array_2}') array2_bool = array_2 > array print(f'second boolean array by comparing second array with 1st array:\n{array2_bool}')09 Hàm 'khác 0' có thể được sử dụng để lấy các chỉ số của một mảng, trong đó điều kiện là Đúng. Trong đoạn script sau, chúng ta tạo mảng Boolean B >= 42 Một mảng boolean là gì?Mảng boolean là một dãy các biến chỉ có thể mang giá trị true hoặc false. Giá trị Boolean chỉ có thể đúng hoặc sai và không thể có bất kỳ giá trị trung gian nào khác. Mảng là tập hợp các kiểu dữ liệu được lưu trữ ở các vị trí số trong không gian bộ nhớ tuyến tính
Làm cách nào để chuyển đổi mảng có nhiều mảng thành boolean?Chỉ cần sử dụng kiểm tra đẳng thức. Giả sử a là ma trận numpy của bạn, dùng b = (a == 0) hoặc b = (a. = 0) để lấy ma trận giá trị boolean . Trong một số trường hợp, vì giá trị có thể đủ nhỏ nhưng khác không, nên bạn có thể sử dụng abs(a) < TH, trong đó TH là ngưỡng số mà bạn đặt.
Lập chỉ mục mảng boolean trong Python là gì?Ở dạng đơn giản nhất, lập chỉ mục boolean hoạt động như sau. Giả sử x là một mảng chiều và ind là một mảng giá trị boolean có cùng hình dạng với x. Sau đó, x[ind] trả về một mảng 1 chiều, được hình thành bằng cách duyệt qua x và ind bằng cách sử dụng thứ tự chính của hàng |