numpy .array: TypeError: объект 'DataFrame' не вызывается - PullRequest
0 голосов
/ 21 января 2020

Моя программа выдает ошибку:

TypeError: объект 'DataFrame' не вызывается

Я использую numpy и pandas с python 3,6. Ошибка встречается в строке 15, обозначенной "**" ниже.

import pandas as pd
import numpy as np
import sklearn
from sklearn import linear_model
from sklearn.utils import shuffle

data = pd.read_csv("student-mat.csv", sep=";")

print("Starting data manipulation...")
data = data[["G1", "G2", "G3", "studytime", "failures", "absences"]]

predict = "G3"

x = np.array(data.drop([predict], 1))
y = np.array(data([predict]))


x_train, x_test, y_train, y_test = sklearn.model_selection.train_test_split(x, y, test_size=0.1)

linear = linear_model.LinearRegression()
linear.fit(x_train, y_train)
acc = linear.score(x_test, y_test)

print("Accuracy: " + str(acc))

print("Coefficient: " + str(linear.coef_))
print("Intercept: " + str(linear.intercept_))

1 Ответ

1 голос
/ 21 января 2020

Измените вашу строку

y = np.array(data([predict]))

на

y = np.array(data[predict])

Когда вы используете () после любой переменной, python ожидает, что это будет функция, и вот что сообщение об ошибке о

Используйте только [] для доступа к столбцу с любого фрейма данных, т.е. data["predict"]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...