2015-10-07 2 views
1

Мой код:Почему это возвращает «Слишком много индексов»?

import pandas as pd 
import numpy as np 
from sklearn import svm 

name = '../CLIWOC/CLIWOC15.csv' 
data = pd.read_csv(name) 

# Get info into dataframe and drop NaNs 
data = pd.concat([data.UTC, data.Lon3, data.Lat3, data.Rain]).dropna(how='any') 

# Set target 
X = data.loc[:, ['UTC', 'Lon3', 'Lat3']] 
y = data['Rain'] 

# Partition a test set 
Xtest = X[-1] 
ytest = y[-1] 
X = X[1:-2] 
y = y[1:-2] 

# Train classifier 
classifier = svm.svc(gamma=0.01, C=100.) 
classifier.fit(X, y) 
classifier.predict(Xtest) 
y 

Прибытие в разделе «установить целевой», компилятор выдает ошибку «Слишком много Индексаторы». Я снял этот синтаксис непосредственно из документации, поэтому я не уверен, что может быть неправильным. Csv организован с этими заголовками для столбцов данных.

+0

Попробуйте использовать 'X = данные [[ 'UTC', 'Lon3', 'Lat3']]' – hellpanderrr

ответ

1

Без ваших данных это трудно проверить. Однако мое непосредственное подозрение состоит в том, что вам нужно передать массив numpy вместо DataFrame.

Попробуйте извлечь их:

# Set target 
X = data.loc[:, ['UTC', 'Lon3', 'Lat3']].values 
y = data['Rain'].values 
Смежные вопросы