2016-07-07 7 views
-6

ich ein Problem mit Python Rundfunk habenwie Python-numpy-Brodcasting verwenden

gibt es zwei numpy Liste

x = np.array([[1,2,3],[4,5,6]]) 

y = np.array([0,1,1]) 

Ich möchte

x : [[1,2,3], 
    [4,5,6]] 

zu

berechnen
x : [[1-y[0], 2-y[1], 3-y[2]], 
    [4-y[0], 5-y[1], 6-y[2]]] 

das ist

x : [[0,-3,-3], 
    [3,0,0]] 

auf einmal.

Bitte lassen Sie mich wissen, wie das geht.

Es tut mir leid ... Ich habe einen Fehler ....

ich meine x: [[1,1,2], [4,4,5]]

+0

überprüfen Sie Ihre mathematischen dude! eine übliche Voraussetzung für das Programmieren ist es, eine ganzzahlige Subtraktion durchführen zu können ... – Julien

+2

[[1-0, 2-1, 3-1], [4-0, 5-1, 6-1]] == [[ 0, -3, -3], [3, 0, 0]] – Julien

+1

Was produziert 'x-y'? – hpaulj

Antwort

2

ich sehe nicht, wie Sie bekommt:

x : [[0,-3,-3], 
    [3,0,0]] 

Aber der einfachste Weg, zu tun, was man sich wünschen ist nur:

import numpy as np 
X = ([1,2,3],[4,5,6]) 
y = np.array([0,1,1]) 
print X-y 

Ausgang:

[[1 1 2]
[4 4 5]]

+3

Warum wiederholst du? Tun Sie einfach "X-y" und erhalten Sie ein 2D-Array. Da "y" ein Array ist, behandelt es auch "X". – hpaulj

+0

Sie haben Recht, danke. –

+0

Danke. es ist sehr leicht. –