2017-10-26 9 views
1

私はnumpy.ndarrayを持っています。私はブール値リストを持っています。配列の列にアクセスするためにリストを使用したいと思います。ブールベクトルを使用したnumpy配列のインデックス付け

X = [[1,2,3,4],[5,6,7,8]] 
Y = [True,False,False,True] 

私は非効率的にこれをやっているし、簡単な方法があるかどうかを知りたいと思い、結果は

[[1,4][5,8]] 

になりたいです。

+1

..... 'X [:、Y]'? – Divakar

+0

'X [:、[0,3]]'? – ForceBru

+0

Nopeは機能しません。それは配列のインデックスが多すぎると言う。 – Nivi

答えて

2

まずnumpyに変換する必要があります。

import numpy as np 

X = np.array([[1,2,3,4],[5,6,7,8]]) 
Y = np.array([True,False,False,True]) 

print(X[:,Y]) 
+0

私はまだ同じエラーが発生します。 "配列のインデックスが多すぎます" – Nivi

+0

配列をnumpyに変換しましたか? – utengr

+0

はい、私はしました。私はここに他の何かが欠けていますか? – Nivi

関連する問題