2016-10-16 2 views
1

누락 된 범주 셀에 열당 새 값을 채우고 싶습니다. 예를 들어 :팬더를 사용하여 범주 값을 채우지 않습니까?

c1 c2 c3 
a nan a 
b q nan 
c d nan 
a p z 

뭔가 같은

c1 c2 c3 
a n1 a 
b q n2 
c d n2 
a p z 

내 현재의 문제는 내가 categorials 열에 DictVectorizer를 사용하고 있다는 점이다이되어야하지만 그대로는 NaN을 둡니다. 일부 UNIQ 문자열

+1

한 가지 방법을 제공합니다; Amelia II 문서는 누락 된 데이터 문제와 한 가지 해결책을 매우 자세히 설명하기 때문에 읽을 수 있습니다. 더욱이, 일부 평균값을 채우는 것은 명백히 나쁜 생각이며 이에 대한 약간의 문헌이 있습니다. – Sycorax

+0

@amoeba pandas는 R의'data.frame'과'data.table'와 비슷한 데이터 프레임 기능을 추가하는 Python 모듈입니다. – Sycorax

+0

@Sycorax 예, 알고 있습니다. –

답변

0

Fillna 당신이 원하는 것을 :

categorial_data = pd.DataFrame({'sex': ['male', 'female', 'male', 'female'], 
           'nationality': ['American', 'European', float('nan'), 'European']}) 
print(categorial_data) 
categorial_data=categorial_data.fillna('some_unique_string') 
print('after replacement') 
print(categorial_data) 
encoder = DV(sparse = False) 
encoded_data = encoder.fit_transform(categorial_data.T.to_dict().values()) 
print(encoded_data) 

당신에게 전가라고 누락 된 값을 채 웁니다

nationality  sex 
0 American male 
1 European female 
2   NaN male 
3 European female 
after replacement 
      nationality  sex 
0   American male 
1   European female 
2 some_unique_string male 
3   European female 
[[ 1. 0. 0. 0. 1.] 
[ 0. 1. 0. 1. 0.] 
[ 0. 0. 1. 0. 1.] 
[ 0. 1. 0. 1. 0.]] 
관련 문제