Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NumPy:将一个热编码推广到k-hot编码_Numpy - Fatal编程技术网

NumPy:将一个热编码推广到k-hot编码

NumPy:将一个热编码推广到k-hot编码,numpy,Numpy,我正在使用此代码对一个热编码值进行编码: idxs = np.array([1, 3, 2]) vals = np.zeros((idxs.size, idxs.max()+1)) vals[np.arange(idxs.size), idxs] = 1 但我想将其推广到k-hot编码(其中vals的形状相同,但每行可以包含k个) 不幸的是,我不知道如何为每行中的多个col建立索引。我尝试了vals[0:2,[[0,1],[3]]从第一行选择第一列和第二列,从第二行选择第三列,但它不起作用。调

我正在使用此代码对一个热编码值进行编码:

idxs = np.array([1, 3, 2])
vals = np.zeros((idxs.size, idxs.max()+1))
vals[np.arange(idxs.size), idxs] = 1
但我想将其推广到k-hot编码(其中
vals
的形状相同,但每行可以包含k个)

不幸的是,我不知道如何为每行中的多个col建立索引。我尝试了
vals[0:2,[[0,1],[3]]
从第一行选择第一列和第二列,从第二行选择第三列,但它不起作用。

调用它

从第一行选择第一列和第二列,从第二行选择第三列

您只需要在单独的ITerable(元组,列表)中传递相应的行和列:


最后一个问题–NumPy是否有任何功能,可以将
[[1,3],[2],[0,2]
转换为
[0,0,1,2,2]
?@user1518183否。这背后的逻辑是什么?对,这没有任何意义。
In [9]: a
Out[9]: 
array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9]])

In [10]: a[[0, 0, 1],[0, 1, 3]]
Out[10]: array([0, 1, 8])