全局名称'inf'未定义

时间:2014-10-16 10:07:33

标签: python pandas ipython

我开发了一个在脚本中独立的功能。我运行该脚本将函数放在我的命名空间中。我的代码行正常运行:

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 :(得分:5)

试试这个:

from numpy import inf

答案 1 :(得分:1)

inf在numpys名称空间中定义,所以如果你只是

from numpy import inf

复制原始脚本的一部分,你可能忘了从numpy中导入它。 Pandas内部使用了很多numpys功能

答案 2 :(得分:0)

假设您已将numpy导入为np,则可以将inf替换为np.inf

答案 3 :(得分:-1)

无需点击numpy,只需:

inf = float('inf')