【发布时间】:2018-07-03 21:42:29
【问题描述】:
我有这段代码,我试图在一个二维(numpy)数组中迭代 300,350。 我正在查看数组中的每个点 [i,j],然后查看它的两个邻居 [i+1, j+1] 等(取决于角度)。我正在查看角度 0、45、90 和 135 度。我的问题是索引第一个 i,j(角度 = 0 度),我将查看 i,j+1 和 i,j-1。 由于第一次迭代是在 j = 0 我得到一个索引错误,因为 j-1 = -1。我一直在尝试和寻找几个小时来解决这个问题。我的代码如下所示:
for i in range(trex.shape[0]): # ALL ROWS
for j in range(trex.shape[1]): # ALL COLUMNS
if shape[i,j] == 0: # for 0 degree angles (shape is angles)
if trex[i,j] > trex[i, j+1] and trex[i,j] > trex[i,j-1]: # conditions
np.append(trex_other, trex[i,j])
else:
np.append(trex_other, 0)
我查看所有角度,但这只是我想要它做的一个例子。总而言之,我想在除 2d 数组周围的边界之外的所有点上遍历这个 2d 数组。 非常感谢任何帮助!
【问题讨论】:
-
当你的索引工作时你想做什么?可能有一个更好的 numpy 解决方案可以矢量化您的函数。我还会添加标签
numpy而不是通用的arrays标签来吸引合适的人。
标签: python arrays python-3.x loops iteration