作者s90104123 (也許當時忙著微笑和哭泣)
看板Python
標題[問題] Numpy shape問題
時間Wed Jun 3 15:34:34 2020
我有兩個都是1*3矩陣
[[0, 1, 0, 1, 0], [0, 0, 0, 0, 1], [0, 1, 1, 0, 1]]
[[1, 0, 1, 0, 1], [0, 1, 0, 1, 0],[1, 0, 1, 0, 1]]
把一個變成轉置矩陣
3*1和1*3矩陣
變成各個元素相乘的3*3矩陣
https://i.imgur.com/5ptSPaZ.jpg
但是在numpy他好像把他看成3*5
https://i.imgur.com/3qxpx4o.jpg
請問有什麼改法嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.141.63.209 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1591169676.A.005.html
※ 編輯: s90104123 (223.141.63.209 臺灣), 06/03/2020 15:36:16
1F:推 skyconquer: array_1.shape 跟 array_2.shape 都給出 (3,5) 結果 06/03 16:24
2F:→ tsoahans: np.inner(a,b) 06/03 16:26
3F:→ skyconquer: 這樣看來Python把它們視為有3個row跟5個column的矩陣 06/03 16:27
4F:→ skyconquer: 錯誤訊息是因為"array_1 = array_1.reshape( 06/03 16:28
5F:→ skyconquer: array_1.shape[0],1)"這行,改成array_1.reshape(5,3) 06/03 16:29
6F:→ skyconquer: 可過,但不是你要的。 06/03 16:30
7F:→ s90104123: 對 能否讓兩個array各自的shape從(3,5)變成(3,1)呢? 06/03 16:34
8F:推 skyconquer: 請問您最後的結果是要一個3*3矩陣,元素都是內積嗎? 06/03 16:36
9F:→ s90104123: 像是左下角 10101乘以01010 會是[0*1,1*0,0*1,1*0,0*1] 06/03 16:42
10F:→ s90104123: 謝謝 06/03 16:42
11F:推 skyconquer: 如果是的話,可以用這個方式,看看結果如何: 06/03 16:42
12F:→ skyconquer: 喔喔,我再想一下,我以為元素都是純量。 06/03 16:43
13F:推 robert09080: array2.reshape成(5, 3),然後np.dot(array1, array2 06/03 18:10
14F:→ robert09080: ),就是(3, 3)的答案了吧? 06/03 18:10
15F:推 robert09080: 沒看到回應,那你輸入的兩個array改成三維的如何? 06/03 18:15
16F:→ s90104123: 感謝 三維解決了 06/03 19:25