如何用自定义值编码熊猫行?

时间:2020-09-06 07:24:01

标签: python pandas dataframe

我想用熊猫编码所选列的行值。

例如,假设我有以下数据框

    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

2 个答案:

答案 0 :(得分:2)

您可以使用列名applymap

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'])
相关问题