我想给一个numpy数组的某些特定单元格加1,但是我找不到任何不使用缓慢循环的方法:
coords = np.array([[1,2],[1,2],[1,2],[0,0]])
X = np.zeros((3,3))
for i,j in coords:
X[i,j] +=1
导致:
X = [[ 1. 0. 0.]
[ 0. 0. 3.]
[ 0. 0. 0.]]
X[coords[:,0],coords[:,1] += 1
返回结果如下:
X = [[ 1. 0. 0.]
[ 0. 0. 1.]
[ 0. 0. 0.]]
有需要帮忙的吗?
for
循环会快80倍 :/ https://stackoverflow.com/q/57561500/125507 - endolith