Python 为数据帧中的行值指定数字
假设我有一个数据帧Python 为数据帧中的行值指定数字,python,pandas,loops,Python,Pandas,Loops,假设我有一个数据帧 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 有人知道怎么做吗 由词典使用: df['C'] = df['C'].map({'agree':1, '
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
有人知道怎么做吗 由词典使用
:
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
但是使用上面@jezrael指出的map
是最好的解决方案