[问题] 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