【问题标题】:Python: make an array to matrix (one-hot encoding)Python:将数组制作为矩阵(单热编码)
【发布时间】:2017-01-15 00:39:55
【问题描述】:

我有一个维度为 n 的数组,有两个值 0 和 1。比如:

[0,1,1,0,1]

我想做一个nx2矩阵,第一列表示值是否为0,第二列表示值是否为1。上面的数组应该是这样的:

[[1,0],
 [0,1],
 [0,1],
 [1,0],
 [0,1]]

实现这一目标的最简单方法是什么?谢谢!

【问题讨论】:

    标签: python arrays matrix


    【解决方案1】:
    A = np.array([0,1,1,0,1])
    newA = A[:, None]                       # create a new axis
    np.concatenate([1-newA, newA], axis=1)
    
    array([[1, 0],
           [0, 1],
           [0, 1],
           [1, 0],
           [0, 1]])
    

    【讨论】:

      【解决方案2】:

      虽然您应该在询问之前自己尝试过一些东西,但这里是简单的解决方案

      source = [0,1,1,0,1]
      [[1-v, v] for v in source]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-04-28
        • 2016-08-25
        • 1970-01-01
        • 2020-11-27
        • 2016-12-03
        • 2016-12-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多