InvalidIndexError: (slice(None, None, None), None)

在对照书复现代码时:
1 直接将X,Y画图不会报错;
2 引入线性回归模型,再用拟合的数据画图就报错.
原因:需要转换数据格式。

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from sklearn.linear_model import LinearRegression

df = pd.read_excel('/Users/xxxxx/PycharmProjects/看过的书的源代码/python大数据分析与机器学习/第3章 线性回归模型/源代码汇总_PyCharm格式/IT行业收入表.xlsx')
X = df[['工龄']]    # 注意X要写成二维结构
Y = df['薪水']
X = np.array(X)    # 必须要加转换成np才不会报错
Y = np.array(Y)    # 必须要加转换成np才不会报错
plt.xlabel('age')
plt.ylabel('salary')
plt.scatter(X, Y)

regr = LinearRegression()    # 引入线性回归模型
regr.fit(X,Y)
plt.plot(X, regr.predict(X), color='red')

你可能感兴趣的:(Python,Python常见报错,python,开发语言)