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

求助:自定义Python函数计算DataFrame列均值报错排查

问题排查与修正

你的代码存在三个关键错误,逐一说明并修正:

1. 函数内部硬编码全局变量,未使用传入的参数

函数定义时参数为df,但内部却引用了全局的df2,这会导致函数无法复用,且逻辑依赖外部变量,违背封装原则。

2. 函数调用时列名格式错误

调用时传入的["B"]是列表类型,而DataFrame取单列需要传入字符串"B",用列表会返回多列DataFrame,后续len()和sum()的处理会触发错误。

3. 违反题目要求:使用了Python内置函数

题目明确要求不使用Python内置函数,但你的代码里用了len()和sum(),不符合约束条件。


修正后的完整代码(完全不使用内置函数)

def summary_statistics(df, column_name):
    total = 0.0
    count = 0
    # 手动遍历列值,累加求和并计数
    for value in df[column_name]:
        total += value
        count += 1
    # 处理空列避免除以0
    if count == 0:
        return 0.0
    mean = total / count
    return mean

# 正确调用方式
summary_statistics(df2, "B")

针对你的示例DataFrame,运行后会返回88.0,与手动计算结果一致:(70+65+80+75+90+90+95+100+105+110)/10 = 88。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 08:35:40