![](/img/trans.png)
[英]1 in each row of an all zeros numpy array at particular column index given by another numpy array
[英]Make an numpy array of zeros, where each row has 8 zeros, and the index which corresponds to the output changes to 1
我想創建一個 numpy 零數組:
Y_numpy = [[0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0],
...]
我有:
Y = [1,2,7,8,3,4,6,7,8,8,8,8,8,4,4,4,6,3,2,3,4,5,6,7,...]
我的目標是將 Y_numpy 中索引處的值更改為“1”,這與每個 Y 的值相同。
例如:
Y[0] = 1 => Y_numpy[0] = [1,0,0,0,0,0,0,0]
Y[1] = 2 => Y_numpy[1] = [0,1,0,0,0,0,0,0]
Y[2] = 7 => Y_numpy[2] = [0,0,0,0,0,0,1,0]
Y[3] = 8 => Y_numpy[3] = [0,0,0,0,0,0,0,1]
Y[4] = 3 => Y_numpy[4] = [0,0,1,0,0,0,0,0]
Y[5] = 4 => Y_numpy[5] = [0,0,0,1,0,0,0,0]
...
如果您需要任何其他信息或更多解釋,請告訴我。
干得好:
Y = [1,2,7,8,3,4,6,7,8,8,8,8,8]
Y_numpy = np.array(Y)[:,None] == np.arange(1,9)
輸出:
array([[ True, False, False, False, False, False, False, False],
[False, True, False, False, False, False, False, False],
[False, False, False, False, False, False, True, False],
[False, False, False, False, False, False, False, True],
[False, False, True, False, False, False, False, False],
[False, False, False, True, False, False, False, False],
[False, False, False, False, False, True, False, False],
[False, False, False, False, False, False, True, False],
[False, False, False, False, False, False, False, True],
[False, False, False, False, False, False, False, True],
[False, False, False, False, False, False, False, True],
[False, False, False, False, False, False, False, True],
[False, False, False, False, False, False, False, True]])
In [179]: Y = [1,2,7,8,3,4,6,7,8,8,8,8,8,4,4,4,6,3,2,3,4,5,6,7]
In [180]: len(Y)
Out[180]: 24
In [181]: Ynum = np.zeros((24,8),int)
二維數組賦值; 每行一個值:
In [184]: Ynum[np.arange(24),np.array(Y)-1] = 1
In [185]: Ynum[:6,:]
Out[185]:
array([[1, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 1, 0],
[0, 0, 0, 0, 0, 0, 0, 1],
[0, 0, 1, 0, 0, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 0, 0]])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.