全局名称 'inf' 未定义
我写了一个函数,最开始它是独立在一个脚本里的。我运行了这个脚本,把这个函数放进了我的命名空间。之前那行代码运行得很好:
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