全局名称 'inf' 未定义

6 投票
4 回答
14106 浏览
提问于 2025-04-27 22:03

我写了一个函数,最开始它是独立在一个脚本里的。我运行了这个脚本,把这个函数放进了我的命名空间。之前那行代码运行得很好:

df.my_variable.replace([inf, -inf, nan, NaN], 0, inplace=True)

现在我把这个函数移动到了 mymodule.py 文件里。我尝试运行它:

import mymodule as mm
mm.myfun()

用来替换 inf 等的那行代码现在出现了以下错误:

global name 'inf' is not defined

我觉得这可能是因为我之前在 IPython 中交互式开发的原因,但我现在不知道该怎么定义 inf 才能让它正常工作。

暂无标签

4 个回答

0

假设你已经把 numpy 这个库导入并且用 np 来代替它,那么你可以用 np.inf 来替换掉 inf

1

不需要使用numpy,直接这样做就可以:

inf = float('inf')
1

inf 是在 numpy 这个库里定义的,所以如果你只是

from numpy import inf

复制了原始脚本的一部分,可能忘记从 numpy 导入这个东西了。Pandas 在内部使用了很多 numpy 的功能。

18

试试这个:

from numpy import inf

撰写回答