[問題] numpy broadcasting 的使用
各位大大好,小的最近遇到一個問題,
假設有個 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
→
06/14 16:55,
7年前
, 1F
06/14 16:55, 1F
→
06/14 16:56,
7年前
, 2F
06/14 16:56, 2F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章