[問題] numpy broadcasting 的使用

作者: NMOSFET (NMOSFET)   2018-06-13 23:59:38
各位大大好,小的最近遇到一個問題,
假設有個 numpy 二維矩陣 A,
我想要讓 A 矩陣裡的值,
以 10% 的機率設為 0,
於是寫了以下程式碼 :
rows = 10
cols = 10
prb = np.random.random((rows, cols))
mask = prb<0.1
for row in range(rows):
for col in range(cols):
if(mask[row][col]):
A[row][col]=0
有沒有能夠利用numpy的broadcasting來達到同樣的效果,
而不是用 for 迴圈,因為上面這種寫法,
我只要在if()裡面產生隨機數判斷就好,
不用在上面宣告 prb 和 mask 來多此一舉,
能否請各位大大幫我解惑,感恩!!
作者: ThxThx (洗洗睡)   2018-06-14 16:55:00
A[prb < 0.1] = 0喔有人回了XD

Links booklink

Contact Us: admin [ a t ] ucptt.com