Python 熊猫数据帧只有一行
我在列出数据帧行时遇到问题。下面的函数只返回一行(如果缩进返回第一行,如果不缩进返回最后一行)。有人知道问题出在哪里吗Python 熊猫数据帧只有一行,python,pandas,dataframe,Python,Pandas,Dataframe,我在列出数据帧行时遇到问题。下面的函数只返回一行(如果缩进返回第一行,如果不缩进返回最后一行)。有人知道问题出在哪里吗 def ols_regression(formula, framedict): for yp in framedict.keys(): ols_model = ols(formula, framedict[str(yp)]).fit() year = int(yp[:-5]) params = ols_model.
def ols_regression(formula, framedict):
for yp in framedict.keys():
ols_model = ols(formula, framedict[str(yp)]).fit()
year = int(yp[:-5])
params = ols_model.params
d = (dict(yp = yp, year = year, formula=formula, R_squared=ols_model.rsquared,
intercept = params.values[0], DP1 = params.values[1], I = params.values[2], P = params.values[3],
p_intercept = ols_model.pvalues[0], p_DP1 = ols_model.pvalues[1], p_I = ols_model.pvalues[2],
p_P = ols_model.pvalues[3]))
return pd.DataFrame(d, index=[0])
我通过将字典附加到数组来解决这个问题
def ols_regression(formula, framedict):
arr = []
for yp in framedict.keys():
ols_model = ols(formula, framedict[str(yp)]).fit()
year = int(yp[:-5])
params = ols_model.params
arr.append(dict(yp = yp, year = year, formula=formula, R_squared=int(ols_model.rsquared),
intercept = params.values[0], DP1 = params.values[1], I = params.values[2], P = params.values[3],
p_intercept = ols_model.pvalues[0], p_DP1 = ols_model.pvalues[1], p_I = ols_model.pvalues[2],
p_P = ols_model.pvalues[3]))
return pd.DataFrame(arr)