我正在寻找对分类数字列进行编码的方法。我在字符串类型的分类列中看到了很多编码,但是在已经进行了数值转换时却看不到。
我的目标是转换此熊猫数据框:
+---------+
|year|hour|
|2018|1|
|2018|3|
|2019|4|
|2019|4|
+------+
收件人:
+-----------------------------------------+
|year_2018|year_2019|hour_1|hour_3|hour_4|
|1|0|1|0|0|
|1|0|0|1|0|
|0|4|0|0|1|
|0|1|0|0|1|
+---------+
答案 0 :(得分:0)
您需要pd.get_dummies
df = pd.DataFrame({'year':[2018,2018,2019,2019], 'hour':[1,3,4,4]})
print(pd.get_dummies(df, columns=['year','hour'], drop_first=False))
输出:
year_2018 year_2019 hour_1 hour_3 hour_4
0 1 0 1 0 0
1 1 0 0 1 0
2 0 1 0 0 1
3 0 1 0 0 1