Ich habe folgenden 2D-Array:numpy zu subtrahieren/hinzufügen 1d Array von 2D-Array
a = array([[ 1, 2, 3],
[ 4, 5, 6],
[ 7, 8, 9],
[10, 11, 12],
[13, 14, 15]])
und anderen 1D-Array:
b = array([ 1, 2, 3, 4, 5])
dann will ich so etwas wie
berechnenc = a - b
mit der Absicht zu bekommen:
c = array([[0, 1, 2],
[2, 3, 4],
[4, 5, 6],
[6, 7, 8],
[8, 9, 10]])
sondern erhalte ich die Fehlermeldung:
Traceback (most recent call last):
Python Shell, prompt 79, line 1
ValueError: operands could not be broadcast together with shapes (5,3) (5,)
ich die Rundfunk Regeln lesen, aber Artikel nicht klüger erhalten. Ich könnte einen Workaround mit for-Schleifen oder ähnlichem machen, aber es sollte einen direkten Weg geben. Danke
Do 'a - b [:, None] 'oder' a - b [:, np.newaxis] ', das heißt, wandeln Sie' b' in ein 2D-Array um, indem Sie eine Dimension hinzufügen und dann subtrahieren. – Divakar
@Divakar sollten Sie eine Antwort aus Ihrem Kommentar machen. –
Ist eine grundlegende Frage wie diese nicht schon bei "SO" abgedeckt? Dup-Hammer? :) – Divakar