将 Numpy 应用于 "for loops"
Apply Numpy to "for loops"
import numpy as np
c=[10,2000] # only two index for example
horizontal=[]
vertical=[]
for i in range(0,c[0]):
for j in range(0, c[1]):
horizontal.append(j)
vertical.append(i)
print horizontal
当我使用数组和 for 循环时,它花费了太多时间。据我了解,由于未定义的数据类型("i" 和 "j"),这是在浪费时间。我想使用 NumPy 定义数据类型并加速数组循环。
我如何为这些使用 NumPy "array for loops" 或者是否有任何其他解决方案来加速这些循环?
用 NumPy 做到这一点的最简单方法是 np.mgrid
创建网格:
vertical, horizontal = np.mgrid[0:c[0], 0:c[1]]
vertical = vertical.ravel() # make it 1D
horizontal = horizontal.ravel() # make it 1D
import numpy as np
c=[10,2000] # only two index for example
horizontal=[]
vertical=[]
for i in range(0,c[0]):
for j in range(0, c[1]):
horizontal.append(j)
vertical.append(i)
print horizontal
当我使用数组和 for 循环时,它花费了太多时间。据我了解,由于未定义的数据类型("i" 和 "j"),这是在浪费时间。我想使用 NumPy 定义数据类型并加速数组循环。
我如何为这些使用 NumPy "array for loops" 或者是否有任何其他解决方案来加速这些循环?
用 NumPy 做到这一点的最简单方法是 np.mgrid
创建网格:
vertical, horizontal = np.mgrid[0:c[0], 0:c[1]]
vertical = vertical.ravel() # make it 1D
horizontal = horizontal.ravel() # make it 1D