wie multiplizieren mit 2 numpy-array mit unterschiedlichen Abmessungen
Ich versuche, Sie zu multiplizieren mit 2-matrix x,y mit der Form (41) und (41,6)
wie soll es bei der übertragung der matrix zu jeder Pfeil in den multi-Dimensionen
Ich will es tun, wie :
x*y
aber ich bekomme diese Fehlermeldung
ValueError: operands could not be broadcast together with shapes (41,6) (41,)
Ist es etwas, das ich vermisse hier um das möglich zu machen ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht genau sicher, was Sie versuchen zu erreichen. Vielleicht könnten Sie ein Beispiel geben, Ihren input und Ihre erwartete Leistung. Eine Möglichkeit ist:
Dieser wird multipliziert jede Spalte von x mit y, also das Ergebnis des obigen Beispiels ist:
Rundfunk beinhaltet 2 Schritte
geben alle arrays die gleiche Anzahl von Dimensionen
erweitern Sie die
1
Abmessungen zu entsprechen, die andere arraysMit Ihren Eingaben
eine ist 2d, das andere 1d; Rundfunk-ändern können, werden die 1d zu
(1, 41)
es, aber es geht nicht automatisch weiter in die andere Richtung(41,1)
.Weder (41,41) oder (6,41) entspricht dem anderen.
So dass Sie brauchen, um Ihre
y
zu(41,1)
oder diex
zu(6,41)
Gehe ich davon aus, natürlich, Sie wollen die element-element-Multiplikation, nicht die
np.dot
matrix-Produkt.Können Sie versuchen, es funktioniert!
Hängt davon ab, was Sie erwartet haben. Eine einfache Lösung wäre:
y*x
Das sollte geben Sie eine matrix der Dimension (1,6).
Wenn Sie möchten, multiplizieren Sie X der dimension (n) zu Y der dimension(n,m), können Sie erwägen, die Antworten von diesem post
Tipps finden Sie in der Wikipedia sowie:
Einfach gesagt, die Scheibe bis auf arrays und ausführen x*y, oder verwenden Sie andere Wege, um zu passen die Anforderung.
Die Multiplikation der ND-array (sagen wir A) mit einem 1D-one (B) durchgeführt wird auf der letzten Achse standardmäßig, was bedeutet, dass die Multiplikation A * B ist nur gültig, wenn
A.shape[-1] == len(B)
multiplizieren von A mit B auf einer anderen Achse als -1, ist ein workaround, um ein vertauschen der Achsen Eines vor und nach der Multiplikation :
multiplizieren von A und B gegenüber der Achse "Achse", verwenden Sie
Beispiel
Beachten Sie, dass die erste raw von A wurden multipliziert mit 0
letzten raw Dateien wurden mit 2 multipliziert,