2
当谈到如何优化时,我仍然是一个稚嫩。我有这段代码,它包含找到的峰值列表,并找出这些峰值(+/- 一些值)位于多维数组中的位置。然后它将+1加到零数组的索引中。代码运行良好,但执行需要很长时间。例如,如果ind
具有270个值,并且refVals
具有(3050,3130,80)的形状,则其运行接近45分钟。我知道它有很多数据可以通过,但是有没有更有效的方法来解决这个问题?加速Numpy Masking
maskData = np.zeros_like(refVals).astype(np.int16)
for peak in ind:
tmpArr = np.ma.masked_outside(refVals,x[peak]-2,x[peak]+2).astype(np.int16)
maskData[tmpArr.mask == False ] += 1
tmpArr = None
maskData = np.sum(maskData,axis=2)
方法1立即擦除了我的记忆,但如果没有的话,它会很好。 #2和#3效果很好。有一个显着的改进。谢谢 – nanoPhD