私は以下の問題に助けが必要です。Pythonでブールインデックスを作成した後の入力の形状を維持する
Suppose X = [1 3 0 8
1 4 6 0
2 0 7 8 ]
mask = (X != 0)
mask = [ T T F T
T T T F
T F T T]
X1 = X[(mask,np.newaxis)]
その出力X1形状(9,1)
であるが、私はX1は、(3,3)のようにしたい、すなわち、マスクされたエントリを除き、Xと同様の形状を維持します。
X1 = [1 3 8
1 4 6
2 7 8 ]
誰かが私を助けることができますか?ありがとうございました。
Xのすべての行にはゼロが含まれ、reshape()は使用しません。ここでの作業は
X= np.array([[1,3,0,8],[1,4,6,0],[2,0,7,8]])
mask = (X!=0)
X1=X[(mask,np.newaxis)]
出力Xは形状(9,1)です。 X1が(3,3)のようになる方法はありますか?
「X!= 0」の条件を満たす要素が8つしかない場合はどうなりますか? – mgilson
これはnumpyに関連していますか? –
@mgilson、問題の性質は、すべての行に0が含まれることになるため、上記の問題は問題にならないでしょう。 – samquest