我想使用以下代码从Pandas数据帧生成Scatterplot:
df.plot.scatter(x='one', y='two, title='Scatterplot')
我是否可以使用Statement发送参数,因此它会绘制一个回归线并显示拟合的参数?
类似的东西:
df.plot.scatter(x='one', y='two', title='Scatterplot', Regression_line)
答案 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()