我的程序使用 array.fromfile() 将 420 万个无符号整数从二进制文件中读取到一个数组(脉冲)中。然后它遍历这些整数并基于模运算将它们附加到适当的列表位置(区域)中。目前,下面的循环大约需要 2 秒,但我希望它可以做得更快。我花了几个小时尝试不同的 numpy 方法,其中一些最终变慢了。我已经为各种功能计时,这绝对是瓶颈。有任何想法吗?
for idx,val in enumerate(pulses):
if (idx + 1)%nZones == 0 and idx != 0:
zones[zone].append(val)
zone = 0
else:
zones[zone].append(val)
zone += 1
例如:有 200 个区域,脉冲 1 进入区域 1,脉冲 2 进入区域 2,以此类推,直到我们到达第 200 个脉冲,脉冲 201 进入区域 1。