python - pandas - 数据框列值的线性回归

标签 python pandas scipy statistics regression

我有一个 pandas 数据框df,例如:

A,B,C
1,1,1
0.8,0.6,0.9
0.7,0.5,0.8
0.2,0.4,0.1
0.1,0,0

其中三列的排序值为 [0,1]。我正在尝试绘制三个系列的线性回归。到目前为止,我能够使用 scipy.stats 如下:

from scipy import stats

xi = np.arange(len(df))

slope, intercept, r_value, p_value, std_err = stats.linregress(xi,df['A'])
line1 = intercept + slope*xi
slope, intercept, r_value, p_value, std_err = stats.linregress(xi,df['B'])
line2 = intercept + slope*xi
slope, intercept, r_value, p_value, std_err = stats.linregress(xi,df['C'])
line3 = intercept + slope*xi

plt.plot(line1,'r-')
plt.plot(line2,'b-')
plt.plot(line3,'g-')

plt.plot(xi,df['A'],'ro')
plt.plot(xi,df['B'],'bo')
plt.plot(xi,df['C'],'go')

获得以下图:

enter image description here

是否有可能获得一个单一线性回归来总结scipy.stats中的三个单一线性回归?

最佳答案

也许是这样的:

x = pd.np.tile(xi, 3)
y = pd.np.r_[df['A'], df['B'], df['C']]

slope, intercept, r_value, p_value, std_err = stats.linregress(x, y)
line4 = intercept + slope * xi

plt.plot(line4,'k-')

关于python - pandas - 数据框列值的线性回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34882764/

相关文章:

python - 在两个向量 vpython 之间创建一个角度?

python - 根据列表更改文件名字符串的函数

python - 使用 python 为 django 设置虚拟环境的重要性

python - form.is_valid() 在使用 ModelForm 时返回 False

python - 计算列中连续真实值的数量

python - Python中列的绝对值

python - Scipy稀疏矩阵和稀疏向量之间的欧几里德距离

python - 寻找离散函数的全局最小值

python - k样本的scipy Anderson-Darling测试中的数学溢出错误

python - 单个函数的 Numpy 均值和方差?