通过遍历字典

时间:2020-01-08 22:14:27

标签: python python-3.x pandas

我有一个函数需要根据它们的索引对两个数据帧中的行进行操作(该函数应用OLS回归模型)。数据帧是通过对外部数据源的API调用动态填充的,因此内容会有所不同。

为了演示,这是我使用显式引用提取数据帧的代码。

etf = (etfta.loc['SPY'])
equity = (symbolsta.loc['DOCU'])

equity.set_index('date', inplace=True)
etf.set_index('date', inplace=True)
monthly_prices = pd.concat([equity['close'], etf['close']], axis=1)
monthly_prices.columns = ['Equity', 'ETF']
monthly_returns = monthly_prices.pct_change(1)

clean_monthly_returns = monthly_returns.dropna(axis=0)  # drop first missing row
# split dependent and independent variable
X = clean_monthly_returns['Equity']
y = clean_monthly_returns['ETF']

# Add a constant to the independent value
X1 = sm.add_constant(X)

# make regression model 
model = sm.OLS(y, X1)

# fit model and print results
results = model.fit()
print(results.summary())
print(results.rsquared)

这在股票数据框架中的DOCU和ETF数据框架中的SPY上运行回归。如果我调出要显式使用的行,显然可以正常工作,但是我希望能够循环执行并多次执行该功能。

应该专注于弄清楚如何从我的'symbolsta'数据帧(其中equity = (symbolsta.loc['DOCU']当前已进行硬编码)中的索引动态创建变量名,或者搞清楚如何迭代开始该操作的concat操作。全部关闭。

我希望人们对解决此问题的最佳方法有任何想法。

0 个答案:

没有答案