将 1d numpy ndarray 转换为一个形状为 (n,2) 的热编码 ndarray

Convert 1d numpy ndarray into one hot encoding ndarray of shape (n,2)

我有一个形状为 (1,2) 的 1d numpy ndarray。

nd = array[1,0]

我想将其转换为形状为 (n,2) 的 ndarray,使其看起来像这样;

nd_new = [
            [1,0]
            [1,0]
            [1,0]
            ...
            ...
            [1,0]
         ]

n[1,0]

您可以按如下方式使用np.tile

>>> np.tile(nd, (n, 1))

我会回答我自己的问题。使用来自 keras 的一种热门编码工具。

from keras.utils import to_categorical
y_nd_ones = [1] * n
y_nd = to_categorical(y_nd_ones)