未定义映射器名称中的NaN

2022-04-14 00:00:00 python nan

问题描述

我这样做

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

怎么了?是编码错误还是文件错误?


解决方案

没有内置名称nan,也没有关键字。

您好像忘了导入;numpy定义了这样的名称:

from numpy import nan

从本地名称df推断您可能使用的是 pandas ; pandas 的文档通常使用np.nan,其中np是随import numpy as np导入的numpy模块。有关详细信息,请参阅其10 Minute to pandas intro。

相关文章