我做如下
mapper = {'a': 'b', 'c': nan, 'd': 'e', nan : nan}
df['b'] = [ mapper[x] for x in df['a'] ]
df['b'].value_counts()
和
NameError Traceback (most recent call last)
<ipython-input-48-3862b2347ce7> in <module>()
NameError: name 'nan' is not defined
怎么了?编码或文件中有错误吗?
答案 0 :(得分:12)
Python没有内置名称nan
,也没有关键字。
看起来好像忘了导入它; numpy
定义了这样一个名称:
from numpy import nan
从本地名称df
我推断你可能正在使用熊猫; pandas的文档通常使用np.nan
,其中np
是使用numpy
导入的import numpy as np
模块。例如,请查看他们的10 Minute to pandas intro。
答案 1 :(得分:0)
您没有定义变量NameError
是什么,因此Python引发了NaN
。如果您想检查某个数字是math.isnan(x)
(不是数字),请使用x
,其中{{1}}是浮点数。