给定一个一维索引数组:
a = array([1, 0, 3])
我想将其一次性编码为二维数组:
b = array([[0,1,0,0], [1,0,0,0], [0,0,0,1]])
创建归零数组b
有足够的列,即a.max() + 1
.
然后,对于每一行i
,设置a[i]
第 列 至1
.
>>> a = np.array([1, 0, 3])
>>> b = np.zeros((a.size, a.max() + 1))
>>> b[np.arange(a.size), a] = 1
>>> b
array([[ 0., 1., 0., 0.],
[ 1., 0., 0., 0.],
[ 0., 0., 0., 1.]])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)