You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Pandas分组DataFrame上执行Linear Regression结果重复的问题咨询

问题分析与解决方法

核心问题

  1. 函数未使用分组数据:你的lregression函数里直接引用了全局的df,完全没用到groupby传入的分组后data参数,导致每次都是用整个数据集训练模型,所以所有分组返回的都是全局得分。
  2. groupby.apply传参错误:你额外传递了X、y参数,但实际上apply会自动把每个分组的DataFrame传给函数的第一个参数,不需要额外传这两个值。

修正后的代码

首先修改回归函数:

def lregression(data):
    # 从当前分组的data中提取特征和目标变量
    X = data['sales'].values.reshape(-1, 1)
    y = data['target']
    model = LinearRegression()
    model.fit(X, y)
    return model.score(X, y)

然后调用分组应用:

df.groupby('brand').apply(lregression)

修正逻辑说明

  • 函数现在接收每个分组的data作为参数,从data里提取当前分组的sales和target,这样每个分组都会单独训练自己的线性回归模型。
  • 去掉了多余的X、y参数,groupby.apply会自动把每个分组的DataFrame传入函数,无需手动传递。

内容的提问来源于stack exchange,提问作者chr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 10:22:04