一个热编码单个分类数值列
One Hot Encoding Single Categorical Numerical Column
我想对分类数字列进行编码。我看到了很多来自字符串类型分类列的编码,但是当已经转换为数字时就没有了。
我的目标是转换这个 pandas 数据框:
+---------+
|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|
+---------+
你需要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
我想对分类数字列进行编码。我看到了很多来自字符串类型分类列的编码,但是当已经转换为数字时就没有了。
我的目标是转换这个 pandas 数据框:
+---------+
|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|
+---------+
你需要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