【发布时间】:2020-11-14 13:32:55
【问题描述】:
我是 python 新手,想了解如何使用 scikitlearn
我有一个数据框:
Id ServiceSubCodeKey ... Aim PrintDate
0 1895650 2 ... NaN 2018-07-27
1 1895650 4 ... NaN 2018-08-13
2 1896355 2 ... NaN 2018-08-10
3 1897675 9 ... 12.0 2018-08-13
4 1897843 2 ... NaN 2018-08-10
... ... ... ... ...
3940510 2178737 3 ... 1.0 2019-06-14
3940511 2178737 4 ... 1.0 2019-06-14
3940512 2178737 7 ... 1.0 2019-06-14
3940513 2178737 1 ... 1.0 2019-06-14
3940514 2178750 6 ... 4.0 2019-06-14
我正在尝试根据 id 与 servicesubcodekey 对 300 万行进行热编码,以便最终的 One 热编码如下所示:
id ServiceSubCodeKey ... Encoding PrintDate
0 1895650 2 ... 0101 2018-07-27
1 1895650 4 ... 0101 2018-08-13
2 1896355 2 ... 01 2018-08-10
3 1897675 9 ... 000000001 2018-08-13
4 1897843 2 ... 01 2018-08-10
... ... ... ... ...
3940510 2178737 3 ... 1011001 2019-06-14
3940511 2178737 4 ... 1011001 2019-06-14
3940512 2178737 7 ... 1011001 2019-06-14
3940513 2178737 1 ... 1011001 2019-06-14
3940514 2178750 6 ... 000001 2019-06-14
因此,正如您所看到的,对于每个具有服务子代码的 id,都有一个唯一的编码,如果 id 相同,则编码是服务子代码的范围,并且对于数字,例如 id 18,如果最大服务子代码为 4,然后编码为 0101,因为该 id 存在 2 和 4。
【问题讨论】:
标签: python pandas encoding scikit-learn one-hot-encoding