目的 Y是列标签,对应0,1,2这样的数字,如Y=[ 0 1 2 1 1]'(5*1) 目的经过独热码映射为[[1 0 0];[0 1 0];[0 0 1];[0 1 0];[0 1 0]] (5*3) 解决 先转化为int型(只有int可以作为索引值)再通过作为单位矩阵的索引得到对应的独热码,此时得到的Y是5*1*3的再使用Y[:,0,:]去掉中间的维度,即可得到所需结果 Y=np.eye(3)[Y.astype(np.int64)] Y=Y[:,0,:]