我可以使用带有pandas数据帧的散点图来绘制回归线并显示参数吗?

时间:2016-04-05 08:24:41

标签: python pandas regression scatter-plot

我想使用以下代码从Pandas数据帧生成Scatterplot:

df.plot.scatter(x='one', y='two, title='Scatterplot') 

我是否可以使用Statement发送参数,因此它会绘制一个回归线并显示拟合的参数?

类似的东西:

df.plot.scatter(x='one', y='two', title='Scatterplot', Regression_line)

2 个答案:

答案 0 :(得分:24)

我不认为DataFrame.plot()有这样的参数。但是,您可以使用Seaborn轻松实现此目的。 只需将pandas数据框传递给lmplot(假设您安装了seaborn):

import seaborn as sns
sns.lmplot(x='one',y='two',data=df,fit_reg=True) 

答案 1 :(得分:3)

您可以使用sk-learn获取与散点图结合的回归线。

from sklearn.linear_model import LinearRegression
X = df.iloc[:, 1].values.reshape(-1, 1)  # iloc[:, 1] is the column of X
Y = df.iloc[:, 4].values.reshape(-1, 1)  # df.iloc[:, 4] is the column of Y
linear_regressor = LinearRegression()
linear_regressor.fit(X, Y)
Y_pred = linear_regressor.predict(X)

plt.scatter(X, Y)
plt.plot(X, Y_pred, color='red')
plt.show()

enter image description here