Python 因被零除而导致的问题处理NaN

Python 因被零除而导致的问题处理NaN,python,api,django-rest-framework,nan,divide-by-zero,Python,Api,Django Rest Framework,Nan,Divide By Zero,我正在用Django rest框架开发一个API。 请求位于get(),用户输入日期和部门号,并返回一个响应,其中包含关于该特定部门的特定日期的销售指标 问题: 问题是,在某些情况下,对于2018年的旧数据,我查询的大多数字段都是零,并且有一个分区来计算一些指标,因此最终得到NaN,这破坏了API的功能 这是my views.py中的示例代码: sql = "select sales_p, sales_c, sales_all from sales where dat_ref = '"

我正在用Django rest框架开发一个API。 请求位于
get()
,用户输入日期和部门号,并返回一个响应,其中包含关于该特定部门的特定日期的销售指标

问题: 问题是,在某些情况下,对于2018年的旧数据,我查询的大多数字段都是零,并且有一个分区来计算一些指标,因此最终得到NaN,这破坏了API的功能

这是my views.py中的示例代码:

    sql = "select sales_p, sales_c, sales_all from sales where dat_ref = '" + input_date + "'"
    try:
        df = select_vector(sql, DB_CONNECTOR)
    except Exception:
        raise ServiceUnavailable()
    if df is None:
        raise ServiceUnavailable()

    if len(df) > 0:
        sales_1 = df['sales_p'].loc[0]
        sales_2 = df5['sales_c'].loc[0]
        sales_all = df5['sales_all'].loc[0]
    else:
        return Response(status=204)

    percentage = float(("{0:.2f}".format(((sales_all - sales_p)/sales_c)*100)))

    response = {'Percentage': percentage}

我正在寻找处理此问题的最佳方法,并可能会向用户返回一条消息进行澄清。

最简单的解决方案可能就是:

如果销售额=0:
#不管怎样处理错误,引发异常,打印消息或其他任何东西
其他:
#继续节目

如果出于某种原因,这不起作用,请告诉我,我可能遗漏了问题陈述中的某些内容。

您需要带零的吗?否则,只需删除nan值。