我想用熊猫编码所选列的行值。
例如,假设我有以下数据框
Col_A Col_B
0 SV NT
1 NT P
2 SV I
3 P SV
4 I P
我有一个字典,其中包含一列的每一行的编码值,如下所示
encode_values = {
"Col_A" : {"NT": 1, "SV": 0, "P": 1, "I": 0},
"Col_B": {"NT": 10, "SV": 0, "P": 10, "I": 0}
}
我想要一个新的数据框,其中每个列都具有自定义编码
结果:-
Col_A Col_B
0 0 10
1 1 10
2 0 0
3 1 0
4 0 10
答案 0 :(得分:2)
您可以使用列名apply
和map
:
print (df.apply(lambda d: d.map(encode_values[d.name])))
Col_A Col_B
0 0 10
1 1 10
2 0 0
3 1 0
4 0 10
答案 1 :(得分:0)
尝试以字典作为参数的replace
,分别应用于df中的每个系列:
df.Col_A = df.Col_A.replace (encode_values['Col_A'])
df.Col_B = df.Col_B.replace (encode_values['Col_B'])