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
是最好的解决方案