嵌套循环矢量化

时间:2019-05-20 18:49:19

标签: python numpy vectorization

我正在尝试向量化带有条件的嵌套循环。下面是我正在尝试做的一个小型虚拟程序。完整版本的代码将推动我的PC的内存限制(更多的嵌套循环和更复杂的条件条件),因此我希望也使用广播将内存使用率降至最低-即仅保留最终结果而不仅仅是大文件,其中某些元素标记为排除。

我想我需要'where'或掩码,但是问题是代码没有在两个数组上迭代。任何帮助将不胜感激。 :-)

#conventional python
import numpy as np
myList = []
count = 0
for a in range(5):
  for b in range(5):
    if a != b:
      myList.append([a, b])
    else:
      count += 1

print(myList)

#attempt at vectorised numpy
a = np.arange(5).reshape(1,5)
b = np.arange(5)
output = np.where(a != b, [a,b])
print(output)

0 个答案:

没有答案