python - 在 python pandas 中按组回归

标签 python python-3.x python-2.7 pandas pandas-groupby

我想问一个与 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/

相关文章:

python - 从 Docker 容器中运行的 Flask 应用程序下载文件

python - 根据条件在 numpy 数组的元素中进行数学运算的有效方法

python-3.x - AWS UNLOAD 无效凭证子句

Python 对大型二进制字符串的按位运算

python - 读取文件的文件内容并在发生异常时设置为空字符串的最佳方法

python - 无法理解namedtuple语法

python - Fisher在Python中的线性判别式

python - 如何尽可能多地输入 x 和 y?

python - 重新排列数组以在 Python 中按顺序排列

python-3.x - 错误号 2 : No such file or directory: SSLError while calling s3. get_object()