私は2Dベクトルとクラスラベルを別々の配列に持つ2つの配列aを持っています。クラスラベルにしたがってnumpyデータ配列の行を個別のnumpy配列で選択する方法は?
a = np.random.random_sample((10000,2))
labels = [0]*10000
は、私は今、三つのクラス1、2と3があり、この
plot_data(a,np.matrix(np.asarray(labels)))
のようにそれらを使用して、私は、各クラスに対応する「」ベクトルから行を抽出し、それをプロットしていきます。 私はそれを達成することができません。私は以下を試みたが、うまくいきませんでした。
indices_0 = [k for k in range(0, X.shape[0]) if np.all(y == 1)]
indices_1 = [k for k in range(0, X.shape[0]) if np.all(y == 2)]
indices_2 = [k for k in range(0, X.shape[0]) if np.all(y == 3)]
(MATLABのFINDのような)行を選択するにはどうすればいいですか?
'np.where(ラベルになり、あなたのラベルは例えば '0'に等しいインデックスを取得するための標準的なnumpyの道:私は、MATLABユーザのために、このチートシートをお勧めします== 0)[0] '。この場合、 'np.where'はタプルを返すので、最後に '[0]'が必要です。 –