如何使用代码示例来热编码功能

时间:2017-09-05 13:51:55

标签: python pyspark analytics data-science

我有这样的数据框
代码| TYPE
0001 |一个
0001 |乙
0001 | C
0002 |一个
0003 |乙
....

并需要将其转换为以下内容
代码| TYPE_A | TYPE_B | TYPE_C
0001 | 1 | 1 | 1
0002 | 1 | 0 | 0
0003 | 0 | 1 | 0

提前谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用pandas中的get_dummies函数。虚拟变量只是另一种说法 - 热编码。

import pandas as pd
df = pd.DataFrame({'CODE': ['0001', '0001', '0001', '0002','0003'], 
                   'TYPE': ['A', 'B', 'C', 'A', 'B']})
pd.get_dummies(df, columns=['TYPE'])

columns参数允许您指定要进行热编码的列。

这将给出:

   CODE  TYPE_A  TYPE_B  TYPE_C
0  0001       1       0       0
1  0001       0       1       0
2  0001       0       0       1
3  0002       1       0       0
4  0003       0       1       0