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

ZeroDivisionError错误求助:浮点数除以零问题排查及解决

问题分析

错误根源是代码中length/(length-1)的计算逻辑:当length(即符合establishment=e且locality=l的数据行数)等于1时,length-1为0,触发浮点数除零错误。

修复方案

通过增加前置判断避免除零场景,同时优化重复数据筛选的操作提升效率:

import math
avg_cost = []
for e, l in lis:
    # 一次性筛选目标分组数据,避免重复计算
    group_data = ZomatoData[(ZomatoData["establishment"] == e) & (ZomatoData["locality"] == l)]
    length = group_data.shape[0]
    
    # 处理分组数据量不足的情况,可根据业务需求调整默认值
    if length <= 1:
        avg_cost.append(0)
        continue
    
    # 筛选有效成本数据并计算均值
    valid_costs = group_data[group_data["average_cost_for_two"] != 0]["average_cost_for_two"]
    valid_mean = valid_costs.mean()
    
    # 处理分组内无有效成本数据的情况
    if math.isnan(valid_mean):
        avg_cost.append(0)
        continue
    
    # 计算最终结果
    final_val = math.ceil(valid_mean * length / (length - 1))
    avg_cost.append(final_val)
关键优化点
  • 前置判断length是否≤1,直接跳过除零计算逻辑
  • 仅执行一次基础分组筛选,重复复用结果减少计算开销
  • 增加对有效成本均值为NaN的处理,避免后续计算异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 11:39:18