我想得到numpy数组中某个元素的邻居。让我们考虑下面的例子
a = numpy.array([0,1,2,3,4,5,6,7,8,9])
所以我想指定位置5,并从两边找三个邻居。可以做到的
index = 5
num_neighbor=3
left = a[index-num_neighbor:index]
right= a[num_neighbor+1:num_neighbor+index+1]
上面的代码不考虑边界。。。我要让邻居在阵列的边界内。为此,请考虑下面的示例:如果index为1,则left neighbor仅是一个0元素。
非常感谢
Python为您处理边界:
收益率
当
index<num_neighbor
时a[index-num_neighbor:index]
不起作用的原因是slicing rules #3 and #4:给定
s[i:j]
:所以当
index=1
,然后a[index-num_neighbor:index] = a[-2:1] = a[10-2:1] = a[8:1] = []
。相关问题 更多 >
编程相关推荐