NameError: name 'nan' is not defined in Pandas and Python
In this tutorial, we'll see how to solve a common Pandas error:
NameError: name 'nan' is not defined
or
UndefinedVariableError: name 'nan' is not defined
We get this error from the Pandas or Python when numpy
is not imported as a library.
1. import numpy nan
By default numpy should be installed with Pandas. So to solve the error we need to import numpy NaN
value we can use:
from numpy import nan
×
Note that
NaNare aliases of
nan.
The error is common for map operation in Pandas.
mp = {'K':' * 10**3', 'M':' * 10**6', '< ': ''}
df['amount'] = pd.eval(df['amount'].replace(mp.keys(), mp.values(), regex=True).str.replace(r'[^\d\.\*]+',''))
The example above will result into:
UndefinedVariableError: name 'nan' is not defined
2. import numpy library
As alternative we can import the whole library or other parts from numpy
:
import numpy as np
This is described in: 10 minutes to pandas
3. install numpy
Finally if you need to install numpy library you can do it by:
pip install numpy