![](/img/trans.png)
[英]Make an numpy array of zeros, where each row has 8 zeros, and the index which corresponds to the output changes to 1
[英]1 in each row of an all zeros numpy array at particular column index given by another numpy array
我有一個給定大小的數組,例如全為零的 4x4,
a = np.zeros((4,4))
我想在另一個數組給出的列索引處的每一行中放置 1
b = np.array([0,1,2,1])
所以結果數組應該是這樣的,
a =
1 0 0 0
0 1 0 0
0 0 1 0
0 1 0 0
對於給定 b 的大小(mx1)
的大數組(mxn)
,我該如何做到這一點。
感謝你並致以真誠的問候,
您可以使用這種簡單的方法來索引二維數組:
>>> a[np.arange(len(a)), b] = 1
>>> a
array([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 1., 0., 0.]])
使用zip()
遍歷 a 中的行和b
中a
值:
for row, idx in zip(a, b):
row[idx] = 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.