我有这样的数据框
代码| 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
提前谢谢
答案 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