2016-03-24 12 views
2

MxN(SVMが予測する)と同じサイズの配列があります。私は同じサイズの新しいものを作成する必要がありますが、各位置の値が高い方だけです。例:a, b and cが他の予測から読み出した同じ大きさのnumpyのアレイであるpredict = a * b * cnumpy配列の値を組み合わせる

[[1,2,1,3],   [[2,1,5,1],   [[2,2,5,3], 
[2,5,2,1]] and [1,3,5,5]] result [2,5,5,5]] 
[4,1,3,1]]   [4,2,1,2]]   [4,2,3,2]] 

和生成物は、このように作られています。

ありがとうございます。

答えて

7

np.whereこうしてabの対応する要素間の最大の選択をシミュレートする、a>bのマスクに基づいてab間で選択を行いここ

np.where(a>b,a,b) 

-

A = np.array([[1,2,1,3], [2,5,2,1], [4,1,3,1]]) 
B = np.array([[2,1,5,1], [1,3,5,5], [4,2,1,2]]) 

C = np.maximum(A, B) 

# array([[2, 2, 5, 3], 
#  [2, 5, 5, 5], 
#  [4, 2, 3, 2]]) 
+0

移動先のようで、速いです! – Divakar

1

あなたは第0軸上np.max()を使用することができます。あなたは、入力配列の間の要素ごとの最大を計算するnumpy.maximumを使用することができ

>>> np.max((a,b), axis=0) 
array([[2, 2, 5, 3], 
     [2, 5, 5, 5], 
     [4, 2, 3, 2]]) 
関連する問題