首页 > 解决方案 > Pandas DataFrame 标量值索引通过

问题描述

我有一个线性回归测试,我试图在表格中比较测试结果。使用我当前的设置,我收到一个错误ValueError: If using all scalar values, you must pass an index,我觉得这与存储在 DataFrame 中的值的不同数据格式有关。我应该使用什么正确的格式来实现这个比较表?

这是我的代码:

print(type(y_test))
print(type(y_pred))

print(y_test)
print(y_pred)

# compare predictions to actuals
df_full_results = pd.DataFrame({'Actual': y_test, 'Predicted': y_pred})

# display results as table
display(HTML(df_full_results.to_html()))

这是触发错误的代码:

df_full_results = pd.DataFrame({'Actual': y_test, 'Predicted': y_pred})

这是输出:

<class 'pandas.core.frame.DataFrame'>
<class 'numpy.ndarray'>

 b_leads
214      11
148       7
227       9
131      14
....

[63 rows x 1 columns]
[[14.03709801]
 [ 6.58161653]
 [13.02991554]
....

标签: pythonpandasdataframe

解决方案


您可以尝试将您放入 DataFrame 的内容存储到一个变量中,然后将其放入 df_full_results。例如;

data_stuff = {'Actual': y_test,
              'Predicted': y_pred
             }
df_full_results = pd.DataFrame(data_stuff, columns=['Actual', 'Predicted'])

推荐阅读