2016-05-11 1 views
3

私はpythonでファイルを読み込み、パンダを使ってnumpyの配列に保存しています。 ファイルのサイズは11303402行×10列です。 クロスバリデーションのためにデータを分割する必要があります。そのために、データを11303402行×9列の例と11303402行×1列のラベルの1列にスライスしました。 次のコードです:行でPython "配列のインデックスが多すぎます"

classes=np.unique(labels) 
idx=labels==classes[0] 
Yt=labels[idx] 
Xt=features[idx,:] 

tdata=pd.read_csv('train.csv') 
tdata.columns='Arrival_Time','Creation_Time','x','y','z','User','Model','Device','sensor','gt'] 

User_Data = np.array(tdata) 
features = User_Data[:,0:9] 
labels = User_Data[:,9:10] 

エラーは、次のコードにしてい

Xt=features[idx,:] 

それは、配列のためにあまりにも多くのインデックス」を言う

3つのデータセットのすべての形状は、

です。
print np.shape(tdata) = (11303402, 10) 
print np.shape(features) = (11303402, 9) 
print np.shape(labels) = (11303402, 1) 

誰かが問題を知っている場合は、助けてください。

+1

です。「c」とは何ですか?自己生成ランダム(またはゼロ)入力データを持つ、完全でスタンドアロンの実行可能なプログラムが役に立ちます。 –

+1

'Xt = features [idx:]'を持つようにセミコロンを削除してみてください。 – kazbeel

+0

そして 'idx'の形は何ですか? –

答えて

2

idxの形状は(11303402,1)です。論理比較ではlabelsと同じ形状の配列が返されるためです。これらの2つのディメンションは、featuresのすべてのインデックスを使用します。素早い回避策は

Xt=features[idx[:,0],:] 
関連する問題