Ich habe zwei ndarrays:Multiply NumPy ndarray mit jedem Element in einem anderen binären ndarray unterschiedlicher Größe
a = [[30,40],
[60,90]]
b = [[0,0,1],
[1,0,1],
[1,1,1]]
beachten Sie bitte, dass eine Form könnte größer sein, aber immer quadratische Anordnung (50,50), (100,100) das gewünschte Ergebnis ist:
Result = [[a*0,a*0,a*1],
[[a*1,a*0,a*1],
[[a*1,a*1,a*1]]
ich die richtige Antwort mit diesem Code bekommen verwaltet, aber ich denke, es wäre eine Funktion in numpy gebaut sein, die diese Aufgabe in schnellen Art und Weise erreichen
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)
ich die Funktion ausgeführt wird, mit mir. mit b.form = (4,3), a.form = (100,100,3) kron bekomme mir diese Form: (100,400,9) aber die gewünschte Ausgabeform: (400,300,3) – samer226047
@ samer226047 Für Fügen Sie einfach eine Achse zu "b" hinzu und verwenden Sie 'kron':' np.kron (b [..., None], a) '. Hoffe, das klappt für dich! – Divakar
Es funktioniert, vielen Dank :) – samer226047