2017-03-13 41 views
0

我有运行多重回归的系数。在python sklearn中排列多个回归结果

我想排列自变量作为列名,然后将系数作为第一行,以便能够看到哪个自变量具有哪个系数。

#assigning independent variables to x 
x = df.drop("dependent var", axis = 1) 
... 
#creating a data frame with independent variables as headers 
df_coef = pd.DataFrame(columns = x.columns) 
#adding a row with a coefficients 
df.loc[0] = x 
#shifting index by 1 
df.index = df.index + 1 
#sorting by index 
df = df.sort() 

我得到一个错误:

ValueError: cannot set a row with mismatched columns 

我在做什么错?

+1

你在哪一行出错?另外解释更多关于你想要做什么。显示一些数据样本。请阅读http://stackoverflow.com/help/how-to-ask –

+0

我的猜测是'df.loc [0] = x'会产生错误,因为'x'是'df'的副本,本身没有“dependedn var”列(s) - 因此不匹配。正如@VivekKumar所说的,更多的信息是必要的。 – mkaran

回答

0

第一个命令行:

#assigning independent variables to x 
x = df.drop("dependent var", axis = 1) 

你在做什么这里复制原来的数据帧,DF,没有“依赖VAR”一栏。

在DF留不管列(它是由命令的建议,从数据帧丢弃)是不是像头被关联到新的DF:

#creating a data frame with independent variables as headers 
df_coef = pd.DataFrame(columns = x.columns) 

Afterwise,你尝试将行添加到您的新的DF,索引位置为0,与单个值:

#adding a row with a coefficients 
df.loc[0] = x 

这是最有可能发生在那里的错误,DF最有可能拥有超过一列,咋T,你尝试创建一个列有奇异值,从而得到错误消息:

ValueError: cannot set a row with mismatched columns 

你可能会使用IDE的代码,如果是这样,一个好的建议是用更友好的数据可视化工具,例如anaconda/jupyter笔记本。有了它,您可以逐步可视化数据,这将有助于避免第一步所犯的错误。

希望有帮助,