作者NMOSFET (NMOSFET)
看板Python
標題[問題] numpy broadcasting 的使用
時間Wed Jun 13 23:59:38 2018
各位大大好,小的最近遇到一個問題,
假設有個 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 來多此一舉,
能否請各位大大幫我解惑,感恩!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.173.18.6
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1528905581.A.2DF.html
→ ThxThx: A[prb < 0.1] = 0 06/14 16:55
→ ThxThx: 喔有人回了XD 06/14 16:56