A
形状のnumpy行列と長さのあるブール値(m,n)
のリストが与えられた場合、ブールリストの対応する要素がtrueである列を抽出したいと思います。ind
n
A
私の最初の素朴な試み
Asub = A[:,cols]
ここで引用する必要はありませんが、非常に奇妙な結果が得られます...
この質問に対するpv。の回答に続いて、私はnumpy.ix_
次のように試しました。
>>> A = numpy.diag([1,2,3])
>>> ind = [True, True, False]
>>> A[:,numpy.ix_(ind)]
array([[[1, 0]],
[[0, 2]],
[[0, 0]]])
>>> A[:,numpy.ix_(ind)].shape
(3, 1, 2)
結果は不適切な形になり(3,2)
ます。結果の配列が必要です。結果を2次元に折りたたむことができると思いますが、これを行うためのより良い方法があるはずです。