【发布时间】:2020-10-29 15:53:33
【问题描述】:
我有一个现有的矩阵:
array([[0, 1, 0, ..., 0, 1, 0],
[0, 0, 1, ..., 0, 0, 1],
[1, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 1, 0, 0]])
我想对这些行进行编码,所以我得到一个 (1, columns) 数组,其整数对应于具有value == 1的行
预期输出
[3, 1, 2, ..., 4, 1, 2]
边缘案例(加号)
如果您想提供更多帮助,我可能会遇到矩阵如下的情况:
array([[0, 1, 0, ..., 0, 1, 0],
[0, 0, 0, ..., 0, 0, 1],
[1, 0, 0, ..., 0, 0, 0],
[0, 1, 0, ..., 1, 0, 0]])
您可以看到第 1 列和第 2 列(从 0 开始索引)有 2 个值 1 或根本没有任何值。
在这些情况下,我希望它做的是:
- 填充两行 -> 为该组合返回一个新值(例如 5,6,7)
- 没有填充行 -> 为其返回一个新值(例如 0)
【问题讨论】:
标签: python numpy matrix one-hot-encoding