【问题标题】:How to hot encode features preferably with a code example如何最好使用代码示例对特征进行热编码
【发布时间】:2017-09-05 22:42:09
【问题描述】:
我有一个这样的数据框
代码 |类型
0001 |一个
0001 |乙
0001 | C
0002 |一个
0003 |乙
....
并需要将其转换为以下
代码 |类型_A | TYPE_B | TYPE_C
0001 | 1 | 1 | 1
0002 | 1 | 0 | 0
0003 | 0 | 1 | 0
提前谢谢你
【问题讨论】:
标签:
python
pyspark
analytics
data-science
【解决方案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