티스토리 뷰

반응형

data를 불러왔는데 범주형이 검색이 안되는 상황이 발생했다.

 

train.loc[train['Hispanic_Origin'] == 'Do not know', 'Hispanic_Origin'] = ' NA'
test.loc[test['Hispanic_Origin'] == 'Do not know', 'Hispanic_Origin'] = ' NA'

 

 

이럴때는 .unique()를 써보면, 해당 이름이 어떻게 써져 있는지를 명확히 볼 수 있다.

train['Hispanic_Origin'].unique()

array([' All other', ' Cuban', ' Mexican (Mexicano)',
       ' Central or South American', ' Puerto Rican', ' Mexican-American',
       ' Other Spanish', ' Do not know', ' Chicano', ' NA'], dtype=object)

띄어쓰기 하나가 있어서 정확하게 들어가지 않았던 것이다.

 

그런데 이렇게 .unique()를 써도 안되는 컬럼들이 있다. 대표적으로 nan 컬럼들.

 

이럴 떄는 nan을 써주는 게 아니라, isna()를 써주면 된다.

test.loc[test['Household_Status'].isna()]

 

알고 있으면 쉽지만, 모르면 당황할 수 있다.

소소한 팁이 되었으면 좋겠다.

반응형