скажем, у меня есть фрейм данных
A B C
john I agree
ryan II agree
rose V strongly agree
Shawn VI disagree
что я хочу сделать, это присвоить числа значениям столбца C, как это?
A B C
john I 1
ryan II 1
rose V 2
Shawn VI 0
Кто-нибудь знает, как это сделать?
Использовать map
по dictionary
:
df['C'] = df['C'].map({'agree':1, 'strongly agree':2, 'disagree':0})
print (df)
A B C
0 john I 1
1 ryan II 1
2 rose V 2
3 Shawn VI 0
Вы можете также применять apply
и lambda
A C
0 john agree
1 ryan strongly agree
2 rose disagree
Просто делать
df_t['C'] = df_t['C'].apply(lambda x: 1 if x =='agree' else (0 if x=='disagree' else 2))
что приводит к
A C
0 john 1
1 ryan 2
2 rose 0
Но наилучшим решением является использование map
как указано выше @jezrael.