python-3.x - 如何修复 "If using all scalar values, you must pass an index"错误?

标签 python-3.x matplotlib seaborn

我在不使用内置函数的情况下手动尝试构建线性回归模型以达到理解目的。绘制回归线时出现错误。请帮我修复它。

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import seaborn as sb

data = {'X': list(np.arange(0,10,1)), 'Y': [1,3,2,5,7,8,8,9,10,12]}
df = pd.DataFrame(data) 
df2 = pd.DataFrame(np.ones(10), columns = ['ones'])
df_new = pd.concat([df2,df], axis = 1)

X = df_new.loc[:, ['ones', 'X']].values
Y = df_new['Y'].values.reshape(-1,1)

theta = np.array([0.5, 0.2]).reshape(-1,1)

Y_pred = X.dot(theta)
sb.lineplot(df['X'].values.reshape(-1,1),Y_pred)
plt.show()

错误信息:

If using all scalar values, you must pass an index

最佳答案

您传递的是一个二维数组,而 seaborn 的线图需要一个一维数组(或基本相同的 pandas 列)。所以改成

sb.lineplot(df['X'].values,Y_pred.reshape(-1))  

关于python-3.x - 如何修复 "If using all scalar values, you must pass an index"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59453026/

相关文章:

python - 如何使用 PySpark 删除数据框中基于多个过滤器的列?

python - 路径 ('accounts/' ,包括(accounts.urls)),NameError : name 'accounts' is not defined

python - Matplotlib:使 x 轴更长

python - searchsorted - 全局名称 "x"未定义

python - Matplotlib:在 3d 图中显示

python - Seaborn regplot 中点和线的不同颜色

python - 使用 matplotlib 的 pandas 创建 seaborn 绘图

python - 前一个 GUI 框架的 'Back' 按钮的 PyQt 适当函数

python - Seaborn 分布图为每个直方图箱的计数添加标签

python - python 购买主题公园门票程序