2017-03-03 1 views
0

난 내가 ANN 통해 데이터를 실행하려면 나는 고유 번호와 함께이 고유 한 값을 교체해야 범주 값

df.wlan_mgt_fixed_reason_code.unique() 
= array(['?', '0x0002', '0x0003', ..., '0x0c3c', '0xbf17', '0x4cee'], dtype=object) 

아래 같은 팬더 데이터 프레임 악마를위한 사전을 생성하는 방법.

다음 값으로 대체 할 수 있도록 고유 값에서 사전을 만들어야합니다.

di = 
{ 
"0x0002" : 2, 
"0x0003" : 3, 
"0x0001" : 4, 
"0x0006" : 5, 
"0x0007" : 6, 
"0x0008" : 7, 
"0x944f" : 8, 
"0xda64" : 9, 
"0x7415" : 10, 
"0x64d7" : 11, 
"0x130d" : 12, 
"0x39a1" : 13, 
"0x5df0" : 14, 
"0xc87e" : 15, 
"0x744f" : 16, 
"0x7983" : 17, 
"0x0632" : 18, 
"0x3922" : 19, 
"0x2c60" : 20, 
"0xa5d9" : 21, 
"0x02b8" : 22, 
"0x71c4" : 23, 
"0x0c3c" : 24, 
"0xbf17" : 25, 
"0x4cee" : 1, 
} 

그런 다음 사전 값으로 바꾸십시오.

이 작업을 자동화하는 간단한 방법이 있거나 고유 한 범주 값을 자동으로 식별하고 일련 번호로 바꿀 수있는 코드 조각 일 수 있습니다.

답변

0

categorical을 시도해보십시오

uniqs = list(df.wlan_mgt_fixed_reason_code.unique()) 
uniq_dict = {uniqs[x]: x for x in range(len(uniqs))} 
df.wlan_mgt_fixed_reason_code = df.wlan_mgt_fixed_reason_code.replace(uniq_dict) 
+0

덕분에 많은 : 당신이 표준 벡터화을 고수 할 수도 있다는 것을 의미, 데이터 유형이 여전히 꽤 새로운 말하길

df.wlan_mgt_fixed_reason_code = df.wlan_mgt_fixed_reason_code.astype('category') 

. 정말 완벽하게 작동했습니다. –