我得到的代码,下载股票和运行的线性回归为每个股票在下载的名单。我被困在最后一步:显示预测&;数据中最后一天每只股票的剩余价值
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
您可以这样做,将值存储在列表中:
输出为:
编辑:我走得太快,回头看时发现
tickers
已经定义好了,所以您可以用它在这里设置索引,并丢失Tickers
索引标题以匹配所需的输出另外,如果您想对这些值进行舍入,可以在循环中添加以下两行:
相关问题 更多 >
编程相关推荐