有人能给我解释一下这个简单的Python代码吗?
我有一个简单的函数,它返回0和1的矩阵。我不明白line:out[rangen,vec]=1是如何工作的。向量v的值可以从0到9有人能给我解释一下这个简单的Python代码吗?,python,numpy,Python,Numpy,我有一个简单的函数,它返回0和1的矩阵。我不明白line:out[rangen,vec]=1是如何工作的。向量v的值可以从0到9 import numpy as np def one_hot_encode(vec, vals=10): n = len(vec) out = np.zeros((n, vals)) out[range(n), vec] = 1 return out v = [1,2,3,1,3,5,7,8,9,1,2,3,4,5,6,7,8,9
import numpy as np
def one_hot_encode(vec, vals=10):
n = len(vec)
out = np.zeros((n, vals))
out[range(n), vec] = 1
return out
v = [1,2,3,1,3,5,7,8,9,1,2,3,4,5,6,7,8,9,0,1,2,3,1,3,5,7,8,9,1,2,3]
one_hot_encode(v, 10)
行:out[rangen,vec]=1放置与vec值对应的行,即如果vec具有第一个值1,则in-out矩阵的第一行和第二列值+1将被指定为1。如果4rt值为1,则4rt行和第二列将被指定为1。在任何您喜欢的地方进行打印,并选中该行使用的helpnp。有关更多信息,请阅读文档。在这种情况下,它选择所有元素out[0,vec[0]]、out[1,vec[1]]、out[2,vec[2]]等,并将它们设置为值1。