我想问一个与 python pandas 中的回归分析相关的快速问题。 因此,假设我有以下数据集:
Group Y X
1 10 6
1 5 4
1 3 1
2 4 6
2 2 4
2 3 9
我的目标是运行回归; Y 是因变量,X 是自变量。问题是我想按组运行此回归并在新数据集中打印系数。所以,结果应该是这样的:
Group Coefficient
1 0.25 (lets assume that coefficient is 0.25)
2 0.30
我希望我能解释我的问题。 非常感谢您的帮助。
最佳答案
我不确定您需要的回归类型,但这是您执行 OLS(普通最小二乘法)的方式:
import pandas as pd
import statsmodels.api as sm
def regress(data, yvar, xvars):
Y = data[yvar]
X = data[xvars]
X['intercept'] = 1.
result = sm.OLS(Y, X).fit()
return result.params
#This is what you need
df.groupby('Group').apply(regress, 'Y', ['X'])
您可以定义回归函数并将参数传递给它,如前所述。
关于python - 在 python pandas 中按组回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49895000/