【发布时间】:2019-04-23 18:30:36
【问题描述】:
我正在尝试预测门票销售并收到以下错误:
TypeError: Cannot cast array data from dtype('<M8[ns]') to dtype('float64') according to the rule 'safe'
我在这里附上了我的代码。运行pred_lr = linear_reg.predict(X_all) 时似乎会出现该错误。我想我必须在某处更改类型?但我无法弄清楚我到底做错了什么。
from sklearn.linear_model import LinearRegression
# Load data
event_data = pd.read_csv('event_data.csv')
# Explore data
data = pd.DataFrame(event_data)
split_date = pd.datetime(2019,3,31)
data['created'] = pd.to_datetime(data['created'])
data_train = data[data.created < split_date]
data_test = data[data.created >= split_date]
# predict prices based on date
X_train = data_train.created[:, np.newaxis]
y_train = data_train.tickets_sold
linear_reg = LinearRegression().fit(X_train, y_train)
# predict on all data
X_all = event_data.created[:, np.newaxis]
pred_lr = linear_reg.predict(X_all)
所有行here。这是我的数据头。
created event_id tickets_sold tickets_sold_sum
0 3/12/19 1 90 90
1 3/13/19 1 40 130
2 3/14/19 1 13 143
3 3/15/19 1 8 151
4 3/16/19 1 13 164
【问题讨论】:
-
可以说问题源于
event_data.created的类型。请提供它的摘录(不是图片),以使错误可重现。 -
嗨@sentence 我改了它并添加了一段摘录。
-
您确定错误出现在
linear_reg.predict(X_all)上而不是在linear_reg = LinearRegression().fit(X_train, y_train)上吗?发布完整的堆栈跟踪 `
标签: numpy scikit-learn