Pandas处理除数为零:inf替换与函数应用详解

Dylan
Dylan
发布时间:2026-10-14| 3人浏览过
原创

本文探讨在Pandas DataFrame中进行除法运算时,当除数为零导致结果为无穷大(inf)的处理方法。通过示例展示如何利用numpy库将inf替换为零,以及使用apply函数结合自定义逻辑安全计算比率,解决数据清洗中的常见异常值问题。

Pandas处理除数为零:inf替换与函数应用详解

首先看如下示例情况:

data2[‘营业成本率'] = data2[‘营业成本本年累计']/data2[‘营业收入本年累计']*100

当存在营业收入本年累计值为0的情形时,

计算出的营业成本率会变为inf(无穷大)。但在报表展示中,我们需要将其体现为零,可采用如下方法进行填充处理:


data2['营业成本率'] = data2['营业成本本年累计']/data2['营业收入本年累计']*100
data2['营业成本率'].replace([np.inf, -np.inf, "", np.nan], 0, inplace=True)

注意,该方法需要引用numpy库的支持。

具体操作是需要先导入相关库。


import pandas as pd # 导入panads
from openpyxl import load_workbook # 读取时导入这个
from openpyxl.styles import Font, Alignment # 设置单元格格式
from openpyxl.utils import get_column_letter, column_index_from_string
# 柱形BarChart 3D柱BarChart3D
from openpyxl.chart import label, BarChart3D, BarChart, Reference
import numpy as np

此外,也可以采用定义函数并结合apply方法的方式来实现。


def get_benrate(series):
 shouru = series['营业收入本年累计']
 chengben = series['营业成本本年累计']
 if shouru == 0:
  return 0
 else:
  return chengben/shouru*100

data2['营业成本率'] = 0
data2['营业成本率'] = data2.apply(get_benrate, axis=1)

此前虽然曾尝试使用其他方法


data2['三项费用完成比例本月数'] = 0
data2.loc[data2['任务指标三项费用'] != 0,'三项费用完成比例本月数'] = data2['三项费用合计本月数']/data2['任务指标三项费用']*100

解决过除数为0的情况,但在上述最开始的例子中,却始终无法生效,一直提示错误,具体原因尚不明确,也欢迎各位读者指正。

至此,关于Pandas DataFrame处理除数为零的探讨暂告一段落。如需了解更多相关Pandas DataFrame处理除数为零的内容,请搜索本站过往文章或继续浏览后续相关文章,希望大家以后多多支持本站!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。