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

Python中'-inf'是什么含义?计算DataFrame列均值得到-inf是何原因

-inf是Python数值计算体系中代表负无穷大的特殊浮点值,和正无穷inf、非数值nan同属浮点异常值类型,pandas计算均值时默认只会自动过滤nan,不会跳过inf类值,所以只要计算的序列中存在-inf,最终均值结果就会返回-inf。

你当前执行的逻辑是筛选col_name1等于0的行再计算该列均值,正常情况下全0序列的均值应该为0,出现-inf说明你筛选出的子序列中本身就包含-inf值,大概率是上游计算过程中产生了这类异常值,比如用负数除以0、对负数取对数这类操作都会生成-inf。

排查及解决方法

  • 先确认筛选后的子序列是否存在inf类异常值:
import numpy as np
# 返回True说明存在inf类异常值
df[df["col_name1"] == 0]["col_name1"].isin([np.inf, -np.inf]).any()
  • 定位带-inf的行排查上游计算逻辑:
# 输出所有带inf的异常行
df[df["col_name1"].isin([-np.inf, np.inf])]
  • 计算均值时主动跳过inf和空值:
df_target = df[(df["col_name1"] == 0) & (~df["col_name1"].isin([np.inf, -np.inf])) & df["col_name1"].notna()]
print(df_target["col_name1"].mean())

内容的提问来源于stack exchange,提问作者Ugur Selim Ozen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 01:06:03