2017-12-01 15 views
0

numpy配列の各numpy配列を2つのnumpy配列で掛けて除算しようとしました。numpy配列の各サブnumpy配列を2つのnumpy配列で掛ける方法

I形状[100, 5]とnumpyのアレイx二numpyのアレイyy形状(5,)の両方を有しています。

私はテンソルの値を変更しようとしています

x内軸= 0と一緒に各サブnumpyの配列wのために、それは私が(w - y)*zをしたい、形状[1, 5]を持っている必要があります。

私の考えは、xのfor-loop以上で、これを行うために内部の各サブアレイを選び、元のアレイを再構成することでした。しかし、これは効率的ではないかもしれません。

+0

だから、あなたはxのi番目の列をyを持ちたい[i]はそれから減算し、[i]はZを乗じましたか? – Acccumulation

+0

ええ、ありがたいです。 –

+0

単純に '(x-y)* z'ですか? – Divakar

答えて

1

これは動作するはずです。

(x - y) * z 

サンプル:

>>> x.shape,y.shape, z.shape 
((10L, 5L), (5L,), (5L,)) 
>>> x 
array([[ 0, 1, 2, 3, 4], 
     [ 5, 6, 7, 8, 9], 
     [10, 11, 12, 13, 14], 
     [15, 16, 17, 18, 19], 
     [20, 21, 22, 23, 24], 
     [25, 26, 27, 28, 29], 
     [30, 31, 32, 33, 34], 
     [35, 36, 37, 38, 39], 
     [40, 41, 42, 43, 44], 
     [45, 46, 47, 48, 49]]) 
>>> y 
array([0, 1, 2, 3, 4]) 
>>> z 
array([1, 2, 3, 4, 5]) 

>>> (x-y)*z 
array([[ 0, 0, 0, 0, 0], 
     [ 5, 10, 15, 20, 25], 
     [ 10, 20, 30, 40, 50], 
     [ 15, 30, 45, 60, 75], 
     [ 20, 40, 60, 80, 100], 
     [ 25, 50, 75, 100, 125], 
     [ 30, 60, 90, 120, 150], 
     [ 35, 70, 105, 140, 175], 
     [ 40, 80, 120, 160, 200], 
     [ 45, 90, 135, 180, 225]]) 
関連する問題