2017-09-05 32 views
0

我有這樣的數據框
代碼|類型
0001 | A
0001 | B
0001 | C
0002 | A
0003 |乙
....如何熱編碼功能,最好用代碼示例

,並需要將其轉換爲以下
代碼| TYPE_A | TYPE_B | TYPE_C
0001 | 1 | 1 | 1
0002 | 1 | 0 | 0
0003 | 0 | 1 | 0

預先感謝您

回答

1

可以使用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 
+0

看到更新的答案,你可以添加'columns'參數 – tomp

+0

太好了!非常感謝 – moufkir