Iは、以下のnumpyの配列を有する: (NX1)の真理値表、およびマトリックス(nxk)nは5であり、kは、この例では2です。抽出ベクトル
btable = np.array([[True],[False],[False],[True],[True]])
bb=np.array([[1.842,4.607],[5.659,4.799],[6.352,3.290],[2.904,4.612],[3.231,4.939]])
btableのインデックス値に従ってベクトルをbbで抽出したいと思います。
私は結果
[ 1.84207953 2.90401653 3.23197916]
choicebb=bb[btable]
が同様に私に同じ結果を得るに私を取得されchoicebb=bb[btable==True]
を試してみました。
私が代わりにしたいことはある
[[1.842,4.607]
[2.904,4.612]
[3.231,4.939]]私も試した
choicebb=bb[btable==True,:]
その後私はなるだろう
---> 13 choicebb=bb[btable==True,:]
14 print(choicebb)
IndexError: too many indices for array
これは簡単にそうように、np.ravel()
とマスクの1D
バージョンを取得または[:,0]
で最初の列をスライスし、データ・アレイに論理的なインデックス付けのためにそれを使用choicebb=bb(btable,:);
'btable'は' np.array([TRUE、FALSE、FALSE、TRUE、TRUE]) 'でなければなりません。私は 'マッチ=のようなコマンドを使用して、それを生成しています – Serenity
(IDX == I)'、IDXは、KX1の配列である、と私は私の一致条件です。 – user2118915