Cần giúp giải thích code python

Em có dòng code như này, theo em hiểu thì np.random.rand(k,n)>0.5 nó sẽ return true or false nhưng nếu nó trả về kiểu boolean thì làm sao mà code chạy được ạ, cho nên em hiểu ở trường hợp này true = 1 và false = 0 liệu có đúng không các bác ?
iop

Nó random ra mảng k*n mà, sao lại so với số được nhỉ.

Thì nó tạo ra ma trận k dòng n cột sau đó dùng từng phần tử so sánh với 0.5. Sau đó thực hiện phép tính, vấn đề là code nó chạy được cho nên mình mới thắc mắc

Edit: np.random.rand nó tạo ra giá trị random dựa vào shape đã cho và giá trị nó random ra là số thực từ 0 đến 1

Numpy là thư viện xử lí ma trận rất mạnh trong Python. Numpy sẽ có các toán tử thao tác với ma trận tương tự như các biểu thức toán học giúp cho thao tác với ma trận tường minh hơn rất nhiều. Để đạt được điều này thì numpy override lại các toán tử của Python. Do đó có thể dùng các toán tử + - * / với ma trận y hệt như với thao tác giữa 2 số nhưng lúc này nên hiểu là đang thao tác với ma trận. Tương tự các phép toán số học thì các phép toán so sánh trong Python sẽ tương đương với việc map phần tử ma trận thành giá trị boolean theo điều kiện mong muốn.
PS: câu lệnh trên chắc là muốn tạo 1 ma trận ngẫu nhiên các phần tử có giá trị -1 hoặc 1

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?