看板 Python 關於我們 聯絡資訊
新年快樂 小弟python新手想問個numpy問題 今天我有一個shape = (40,3)的A 還有一個shape = (40,1)的B 利用np.multiply可以乘出一個shape = (40,3)的矩陣 若我今天有一個C.shape = (260,40,1) 我要怎樣才能(不用for迴圈)乘出一個(260,40,3)的矩陣呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.150.133.146 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1519041332.A.4DB.html
iphone2003: 一樣直接np.multiply(A, C)就可了吧 broadcasting 02/19 20:24
謝謝 其實我原本是(260,40) 這樣好像無法 墊成(260,40,1)就可以
iphone2003: 不然也可以用A[np.newaxis, :, :]先墊一個維度再做mul 02/19 20:27
iphone2003: tiply,這樣就和第一個例子差不多了 02/19 20:27
這招沒試過 有機會試看看
iphone2003: c.shape=(260, 40)時不行是因為broadcasting的規則是 02/19 20:47
iphone2003: 把大小是1的那個維度拉到跟另外一個陣列一樣,那個時 02/19 20:47
iphone2003: 候A和C完全沒有大小是1的維度所以才無法成功 02/19 20:47
原來還有這種操作! ※ 編輯: odanaga (118.150.133.146), 02/19/2018 20:54:01
frish8932: http://smarturl.it/pf4e7n 03/02 16:06
frish8932: http://smarturl.it/pf4e7n 03/02 16:45
ar54971: https://goo.gl/2WCUGr 03/06 03:40
galeondx: https://goo.gl/cybm9m 03/06 04:18
galeondx: https://goo.gl/MKaCK6 03/06 04:31
galeondx: https://tinyurl.com/yadsk3lo 03/06 04:42