Python 困惑的如果使用所有标量值,则必须传递索引

Python 困惑的如果使用所有标量值,则必须传递索引,python,pandas,coefficients,Python,Pandas,Coefficients,在试图打印表coefs1时,我一直遇到“如果使用所有标量值,则必须传递索引”错误。这是相当令人沮丧的,因为我在过去使用过这段代码来列出X中的所有变量名,并在构建模型后将它们与它们的系数进行匹配。在这个例子中,我的X中有60个变量,我将其重塑为一维,以匹配我的系数(60,1) 我只是无法理解这个实例是如何给我带来这个错误的,当我使用这个语法的变体查看我过去工作的不同示例时,一切都正常 转换字典 feature_names = X.columns feature_names = np.array(f

在试图打印表coefs1时,我一直遇到“如果使用所有标量值,则必须传递索引”错误。这是相当令人沮丧的,因为我在过去使用过这段代码来列出X中的所有变量名,并在构建模型后将它们与它们的系数进行匹配。在这个例子中,我的X中有60个变量,我将其重塑为一维,以匹配我的系数(60,1)

我只是无法理解这个实例是如何给我带来这个错误的,当我使用这个语法的变体查看我过去工作的不同示例时,一切都正常

转换字典

feature_names = X.columns
feature_names = np.array(feature_names)
feature_names = feature_names.reshape(60,1)

X = np.nan_to_num(X)
Y = np.nan_to_num(Y)

lr = LinearRegression()
model = lr.fit(X,Y)

model_coefs = model.coef_

coefs1 = pd.DataFrame(
    data={'feature': feature_names,
          "orig_coefs" : model_coefs})

print coefs1
重命名列名

df = pd.Series(dict).to_frame('new_col').reset_index()

pd.Series(data={'feature':feature_name,“orig_coefs”:model_coefs})。to_frame()
Hmm这会使我得到一个形状为(2,1)的框架,如果这有意义的话
pd.DataFrame(data={'feature':feature_name.flatte(),“orig_coefs”:model_coefs.flatte())
df.columns = ['col1', 'col2']