puy = np.arange(8).reshape(2,4)puy2 = np.arange(12).reshape(3,4)print puy,'\n'print puy2.Tzz = np.zeros([4,2,3])for i in range(4): zz[i,:,:] = np.dot(np.array([puy[:,i]]).T,np.array([puy2.T[i,:]]))解决方法 一种方法是使用
np.einsum
,它允许您指定您希望发生在索引上的内容: >>> np.einsum('ik,jk->kij',puy,puy2)array([[[ 0,0],[ 0,16,32]],[[ 1,5,9],[ 5,25,45]],[[ 4,12,20],[12,36,60]],[[ 9,21,33],[21,49,77]]])>>> np.allclose(np.einsum('ik,puy2),zz)True总结
以上是内存溢出为你收集整理的python – Numpy Dot两个2-d数组的产品,在numpy中获得3-d数组全部内容,希望文章能够帮你解决python – Numpy Dot两个2-d数组的产品,在numpy中获得3-d数组所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)