[問題] Numpy shape問題

作者: s90104123 (也許當時忙著微笑和哭泣)   2020-06-03 15:34:34
我有兩個都是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
請問有什麼改法嗎?
作者: skyconquer (梅郭曲)   2020-06-03 16:24:00
array_1.shape 跟 array_2.shape 都給出 (3,5) 結果
作者: tsoahans (ㄎㄎ)   2020-06-03 16:26:00
np.inner(a,b)
作者: skyconquer (梅郭曲)   2020-06-03 16:27:00
這樣看來Python把它們視為有3個row跟5個column的矩陣錯誤訊息是因為"array_1 = array_1.reshape(array_1.shape[0],1)"這行,改成array_1.reshape(5,3)可過,但不是你要的。
作者: s90104123 (也許當時忙著微笑和哭泣)   2020-06-03 16:34:00
對 能否讓兩個array各自的shape從(3,5)變成(3,1)呢?
作者: skyconquer (梅郭曲)   2020-06-03 16:36:00
請問您最後的結果是要一個3*3矩陣,元素都是內積嗎?
作者: s90104123 (也許當時忙著微笑和哭泣)   2020-06-03 16:42:00
像是左下角 10101乘以01010 會是[0*1,1*0,0*1,1*0,0*1]謝謝
作者: skyconquer (梅郭曲)   2020-06-03 16:42:00
如果是的話,可以用這個方式,看看結果如何:喔喔,我再想一下,我以為元素都是純量。
作者: robert09080 (Aspettarei)   2020-06-03 18:10:00
array2.reshape成(5, 3),然後np.dot(array1, array2),就是(3, 3)的答案了吧?沒看到回應,那你輸入的兩個array改成三維的如何?
作者: s90104123 (也許當時忙著微笑和哭泣)   2020-06-03 19:25:00
感謝 三維解決了

Links booklink

Contact Us: admin [ a t ] ucptt.com