【发布时间】:2020-03-27 06:44:19
【问题描述】:
我得到了下载代码并为下载列表中的每只股票运行线性回归的代码。我被困在最后一步:在数据中的最后一个日期显示每只股票的预测和残差值。
import pandas as pd
import numpy as np
import yfinance as yf
import datetime as dt
from sklearn import linear_model
tickers = ['EXPE','MSFT']
data = yf.download(tickers, start="2012-04-03", end="2017-07-07")['Close']
data = data.reset_index()
data = data.dropna()
df = pd.DataFrame(data, columns = ["Date"])
df["Date"]=df["Date"].apply(lambda x: x.toordinal())
for ticker in tickers:
data[ticker] = pd.DataFrame(data, columns = [ticker])
X = df
y = data[ticker]
lm = linear_model.LinearRegression()
model = lm.fit(X,y)
predictions = lm.predict(X)
residuals = y-lm.predict(X)
print (predictions[-1:])
print(residuals[-1:])
当前输出如下所示:
[136.28856636]
1323 13.491432
Name: EXPE, dtype: float64
[64.19943648]
1323 5.260563
Name: MSFT, dtype: float64
但我希望它显示如下(作为熊猫表):
Predictions Residuals
EXPE 136.29 13.49
MSFT 64.20 5.26
【问题讨论】:
标签: python pandas loops linear-regression