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

如何使用pandas按条件筛选数据及解决statsmodels函数调用报错

问题排查与修复
  • 核心错误为参数传递错误:你在sm.stats.DescrStatsW()中传入的是列名参数variable(字符串类型),并非你筛选得到的对应列数值序列,需要替换为提前过滤好的subconjunto变量。
  • 可选优化:建议将cereal_df作为函数入参传入,避免依赖全局变量,减少作用域相关的潜在报错。

修正后代码

import statsmodels.api as sm
import pandas as pd

def valor_medio_intervalo(cereal_df, fabricante, variable, confianza):
  # 筛选对应厂商的目标列数据
  subconjunto = cereal_df.loc[cereal_df['fabricante'] == fabricante, variable]
  # 传入筛选后的数值序列计算置信区间
  inicio, final  = sm.stats.DescrStatsW(subconjunto).tconfint_mean(alpha = 1 - confianza)
  return inicio, final

调用示例

如果你需要计算Kellogs厂商calorias列的95%置信区间,调用方式如下:

inicio, final = valor_medio_intervalo(cereal_df, "Kellogs", "calorias", 0.95)
print(f"均值置信区间:[{inicio:.2f}, {final:.2f}]")

内容的提问来源于stack exchange,提问作者Juan David Serna

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 10:30:04