2017-09-07 23 views
0
a = np.array([[1.,2.,3.], 
      [3.,4.,2.], 
      [8.,1.,3.]]) 
b = [8.,1.] 
c = a[np.isclose(a[:,0:2],b)] 
print(c) 

aの列を数行だけ選択したいと考えています。私の試みは上記です。Numpy:一部の列に基づいてフル行を選択する方法

最後の列もその条件に含めると機能しますが、最後の列は気にしません。 2の条件に基づいて、3列の行を選択するにはどうすればよいですか?

答えて

1

aのスライスされたバージョンを使用してnp.iscloseと比較して、私たちはnp.allまたはnp.logical_and.reduceを使用できるため、各行に沿ってすべての一致、探し。最後に、出力の入力配列にインデックスを付けます。

したがって、二つの溶液 -

a[np.isclose(a[:,:2],b).all(axis=1)] 
a[np.logical_and.reduce(np.isclose(a[:,:2],b), axis=1)] 
関連する問題