当我们有多指标

时间:2018-11-07 11:48:07

标签: python pandas matplotlib time-series pandas-groupby

我有时间序列数据,我试图预测第二天的现货价格。我的数据如下:enter image description here

我在f_area上进行了groupby,最终得到了multiindex。现在,我正在尝试使用RandomForestRegressor进行预测。

from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_squared_error

y = area3['y'].values
X = area3[['f_price', 'day_of_week', 'day_of_month']]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20, random_state=42)

model = RandomForestRegressor()
model = model.fit(X_train, y_train)
y_pred = model.predict(X_test)

现在当我尝试绘制y_test(实际值)和y_pred(预测值)

fig, ax = plt.subplots()
ax.plot(y_test)
ax.plot(y_pred)

我得到了这张图。 enter image description here

我想要的是在X轴上有日期,但由于有多个索引,所以我无法这样做。如何执行此操作或删除多索引?我试图通过reset_index删除多索引,但在我的情况下不起作用

1 个答案:

答案 0 :(得分:0)

首先取一个变量并将日期列存储为列表形式

注意:确保您的列表 c 长度和 y_predy-test 大小相同。

fig=plt.figure()
c=area3['f_date'].to_list()
plt.plot(c,y_test)
plt.plot(c,y_pred)
plt.show()