我有一个熊猫数据框,其中的一列包含从1到7的值。如何将这些值转换为一个热编码值?
据我所知,从0到任何值都可以不间断地使用SKlearn的OneHotEncoder,但是由于数字从1开始,所以我做不到。此列是我针对分类问题的从属特征列。
答案 0 :(得分:1)
您可以使用熊猫get_dummies
函数(docs)
>>> import pandas as pd
>>> df = pd.DataFrame({'numerical_thing':[1,2,3,2,1,1,3,4,5,2,3,2,1]})
>>> pd.get_dummies(df.loc[:,'numerical_thing'])
1 2 3 4 5
0 1 0 0 0 0
1 0 1 0 0 0
2 0 0 1 0 0
3 0 1 0 0 0
4 1 0 0 0 0
5 1 0 0 0 0
6 0 0 1 0 0
7 0 0 0 1 0
8 0 0 0 0 1
9 0 1 0 0 0
10 0 0 1 0 0
11 0 1 0 0 0
12 1 0 0 0 0
希望有帮助。