我有numpy數(shù)組和兩個python索引列表,它們的位置將數(shù)組元素增加一。numpy是否有一些方法可以向量化此操作而不使用for循環(huán)?我目前的執(zhí)行緩慢:a = np.zeros([4,5])xs = [1,1,1,3]ys = [2,2,3,0]for x,y in zip(xs,ys): # how to do it in numpy way (efficiently)? a[x,y] += 1print(a)輸出:[[0. 0. 0. 0. 0.] [0. 0. 2. 1. 0.] [0. 0. 0. 0. 0.] [1. 0. 0. 0. 0.]]
2 回答

三國紛爭
TA貢獻1804條經(jīng)驗 獲得超7個贊
>>> a = np.zeros([4,5])
>>> xs = [1, 1, 1, 3]
>>> ys = [2, 2, 3, 0]
>>> a[[xs,ys]] += 1
>>> a
array([[ 0., 0., 0., 0., 0.],
[ 0., 0., 1., 1., 0.],
[ 0., 0., 0., 0., 0.],
[ 1., 0., 0., 0., 0.]])
添加回答
舉報
0/150
提交
取消