2016-07-30 3 views
-1

을 정의되지 않은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 

문제점은 무엇입니까? 코딩이나 파일에 실수가 있습니까?

답변

6

파이썬에는 내장형 이름 nan이 없으며 키워드도 없습니다.

가져 오는 것을 잊어 버린 것처럼 보입니다. 로컬 이름 df 난 당신이 아마 팬더를 사용하는 추론에서

from numpy import nan 

; numpy는 같은 이름을 정의 pandas '문서는 일반적으로 을 사용합니다. npimport numpy as np으로 가져온 numpy 모듈입니다. 예를 들어 10 Minute to pandas intro을 참조하십시오.

0

변수 nan이 무엇인지 정의하지 않았으므로 파이썬은 NameError을 발생시킵니다. 숫자가 NaN (숫자가 아님)인지 확인하려면 math.isnan(x)을 사용하십시오. 여기서 x은 부동입니다.