2
我有這個醜陋的循環:消除在numpy的循環 - 適當的廣播
import numpy as np
in1 = np.array(((2.2, 2.5) ,
(1.4, 1.7))
)
out1 = np.array((0.0, 0.0, 0.0))
idx1 = np.array(((0, 1),
(2, 2))
)
# an ugly loop
for i in xrange(2):
for j in xrange(2):
out1[ idx1[i,j] ] += in1[i,j]
這些循環正常運行在1000×1000的範圍。如何正確使用numpy索引?這不起作用:
out1[ idx1 ] += in1
完美!並且發現at()不需要ravel()參數 –