看板 Python 關於我們 聯絡資訊
各位大大好,小的最近遇到一個問題, 假設有個 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