2016-10-20 5 views
0

私はArが2D numpyの配列であるMATLABmin(Ar(Ar~=0))としてPythonで最も複雑で同じ結果を達成します。 MATLABに慣れていない人のためにPythonの代替

~=!=と等しくないことを意味します。 (この場合の要素!= 0)の値条件を満たす


要素のインデックスを返すPythonで機能はあり2. 他の配列のリストインデックス入力として直接使用できますか? (Ar~=0)の結果はここAr~=0このAr(Ar~=0)

などの入力として使用されているよう(配列Ar(Ar~=0)このAr(Ar~=0)、次いで分等リストインデックスの入力として使用されてきたが判明している。換言すれば、最小値で配列は、その値が0

答えて

2

ある要素を除いて発見されたのnumpyの配列AのためのPythonの構文は次のようになります。あなたはまた、配列の要素を設定することができ

A[A!=0].min() 

単なる一例として
B = A.copy() 
B[A==0] = A[A!=0].min() 

はい、カットオフ

+0

を設定し、これは働いていました。それがとてもシンプルだったとは信じられない!ありがとうございました。しかし、B [A == 0] = A [!= 0] .min()は機能していません。私はそれの背後にある論理を理解した。この行が正確に何をしているのか説明できますか? – hulkinBrain

+0

両側の配列のサイズが同じか、(例のように)右側がスカラであることが重要です – dnalow