全局名称'inf'未定义

6

我开发了一个单独存在于脚本中的函数。我运行了该脚本以将函数放入我的命名空间中。我已经有一行代码,之前运行正常,如下:

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以使其正常工作。


请在您的模块开头尝试使用 from numpy import inf - greole
你可以添加完整的代码到myfun()函数中吗? - Ohumeronen
4个回答

18

试试这个:

from numpy import inf

1
"

inf在numpy的命名空间中定义,因此如果您只是

"
from numpy import inf

复制原始脚本的一部分,您可能忘记从numpy导入它。pandas在内部使用了许多numpy的功能。


1
无需使用numpy,简单地说:
inf = float('inf')

是的。这是正确的。不需要使用 NumPy 中的 inf。它已经存在了。 - Vyshak Puthusseri

0
假设您已经导入了numpy并将其命名为np,则可以通过np.inf替换inf

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接