次のコードがあります。
# unicorns is a numpy array with several fields
idx = (1, 2, 3, 5, 7)
unicorns=uni[idx]
# now i have only the first, second, third, ... unicorn
print unicorns
ただし、このユニコーン配列をサブ選択したい場合
unicorns['color'=='white']['Name']
これにより、白いユニコーンの名前が得られるはずです。numpy は のcolor==white
部分のみを解釈しFalse
、0 になり、配列の最初のエントリを返します。
白いユニコーンを選択して、このコードを修正するにはどうすればよいですか?
私はすべてがnumpyのままであることを望んでいるので、ユニコーン以外の他のプロパティも選択できます。
編集
配列の例を次に示します。
unicorns=[(1, black, 0.0, 'Pinky', 1) (2, black, 0.0, 'Winky', 1)
(3, white, 0.0, 'Lala', 1) (4, white, 0.0, 'Merlin', 1)
(5, black, 0.0, 'Meriva', 1) (6, white, 0.0, 'Panda', 1)]
idx = [ 0 , 3 , 6 ]