簡體   English   中英

1 在由另一個 numpy 數組給出的特定列索引處的全零 numpy 數組的每一行中

[英]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 中的行和ba值:

for row, idx in zip(a, b):
    row[idx] = 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM