按预定义规则将字符串列编码为数值

Nig*_*ker 1 python encoding machine-learning pandas scikit-learn

我有以下DataFrame:

   voting_result project   scene
    Bad          ccus      345943
    Good         ccus      311129
    Bad          ccus      309082
    Bad          ccus      331613
    Good         ccus      331615 
    Not Sure     ccus      331616   
Run Code Online (Sandbox Code Playgroud)

通过遵循规则} Pandasencodevote_result列转换为整数的方法是什么,{'Bad':0, 'Good':1, 'Not Sure':2并获得以下resut

voting_result    project    scene
        0         ccus      345943
        1         ccus      311129
        0         ccus      309082
        0         ccus      331613
        1         ccus      331615 
        2         ccus      331616
Run Code Online (Sandbox Code Playgroud)

谢谢

jez*_*ael 5

使用mapdictionary:

d = {'Bad':0, 'Good':1, 'Not Sure':2}
df['voting_result'] = df['voting_result'].map(d)
print (df)
   voting_result project   scene
0              0    ccus  345943
1              1    ccus  311129
2              0    ccus  309082
3              0    ccus  331613
4              1    ccus  331615
5              2    ccus  331616
Run Code Online (Sandbox Code Playgroud)