Python 中 DataFrame 中数组值的 One-hot 编码
我正在尝试对这些集群数据帧进行 one-hot 编码。 (按长度分组)。一直在尝试使用 sklearn 的编码器,但它似乎将每一行视为一个类别而不是多个类别。
输入示例:
ID trace length
3 [A, B, C, C] 4
4 [A, B, C, C, D] 5
5 [A, B, C, C, D, E] 6
24 [A, B, C, C] 4
25 [A, B, C, C, D] 5
... ... ...
预期输出:
ID A B C D E length
3 1 1 1 0 0 4
4 1 1 1 1 0 5
5 1 1 1 1 1 6
24 1 1 1 0 0 4
25 1 1 1 1 0 5
.... ..... .. ......
I am trying to do one-hot encoding for these clustered data frames. (grouped by length). Been trying to use sklearn's encoder but it seems to regard each individual row as one category instead of multiple.
Example input:
ID trace length
3 [A, B, C, C] 4
4 [A, B, C, C, D] 5
5 [A, B, C, C, D, E] 6
24 [A, B, C, C] 4
25 [A, B, C, C, D] 5
... ... ...
Expected output :
ID A B C D E length
3 1 1 1 0 0 4
4 1 1 1 1 0 5
5 1 1 1 1 1 6
24 1 1 1 0 0 4
25 1 1 1 1 0 5
.... ..... .. ......
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
IIUC,如果目标包含列表,您可以执行以下操作:
或就地修改 df:
或使用explode 和pivot_table:
输出:
IIUC, and if target contains lists, you could do:
or for in place modification of
df
:Or using
explode
andpivot_table
:Output: