2
的另一个二进制ndarray每个元素我有两个ndarrays:乘法NumPy的ndarray与不同尺寸
a = [[30,40],
[60,90]]
b = [[0,0,1],
[1,0,1],
[1,1,1]]
请注意到一个形状可能更大但总是正方形阵列(50,50),(100,100) 该通缉的结果是:
Result = [[a*0,a*0,a*1],
[[a*1,a*0,a*1],
[[a*1,a*1,a*1]]
我设法与此代码正确的答案,但我认为会有一个建在numpy的功能,在快速的方式完成这一任务
totalrows=[]
for row in range(b.shape[0]):
cells=[]
for column in range(b.shape[1]):
print row,column
cells.append(b[row,column]*a)
totalrows.append(np.concatenate(cells,axis=1))
return np.concatenate(totalrows,axis=0)
我执行的功能,用我的。 b.shape =(4,3),a.shape =(100,100,3) kron给我这个形状: (100,400,9) 但是所需的输出形状: (400,300,3) – samer226047
@ samer226047只需将一个轴添加到'b'并使用'kron':'np.kron(b [...,None],a)'。希望这能为你解决! – Divakar
它确实工作,非常感谢你:) – samer226047