2017-06-03 4 views
1

多分私はここで怠けているかもしれませんが、長さnとmの2つの配列を持っているとしましょう。 2つのアレイを互いに比較した。例えば:np.outer()のようなNumpyの最小値

a = [1,5,3] 
b = [2,4] 
cross_min(a,b) 
= [[1,1],[2,4],[2,3]] 

これは代わりに二つの配列の乗算、それは二つの要素の最小値を計算することを除いて、)np.outer(の挙動と類似しています。

同様のことをnumpyで行う操作はありますか?

私はbに沿ってnp.minimum()を実行し、結果をまとめてスタックすることができます。私はこれが私がちょうど名前を知らない有名な操作であるかどうか疑問に思います。

答えて

4

あなたは2次元配列への配列のいずれかをオンにして、broadcastingルールを利用し、np.minimumかもしれません:

import numpy as np 
a = np.array([1,5,3]) 
b = np.array([2,4]) 

np.minimum(a[:,None], b) 
#array([[1, 1], 
#  [2, 4], 
#  [2, 3]]) 
+0

ああ、使用することができます。ありがとうございました!私はあなたの答えを受け入れることができるまで待たなければならない... –

+0

あなたは大歓迎です!それが役に立てば幸い。 – Psidom

3

あなたが巧妙だったnp.minimum.outer(a, b)

+0

単に信じられないほどです。私はそれを説明するのと同じ正確な用語で、ナンシーがこれを全面的にサポートしているとは思えません!ありがとうございました。 –

+1

しかし、それは実際に@Psidomの答えの略語であり、はるかに速くすべきではないことに注意してください。 – Eric

関連する問題