具有对称索引的Numpy数组

时间:2015-06-02 05:15:08

标签: arrays numpy

如何使用symmtric范围的索引创建numpy数组? 我试过了:

np.zeros(-100:100,-100:100) 

期望一个索引为-100 to +100的数组。

2 个答案:

答案 0 :(得分:0)

NumPy并不支持此事;索引始终从零开始。您可以尝试编写自己的ndarray子类,但是您要做出很多尴尬的设计决策;例如,如果你有一个索引从-100到100的数组,array[1:]的索引在哪里开始和结束?那么如何在具有兼容形状但不同索引的数组之间广播操作?像dot这样的结果的界限是什么?

答案 1 :(得分:0)

经过一番搜索,我发现了这一点。我真的不需要对称数组索引。我想要的是一种简单地指定没有x,y循环的圆形光圈的方法。我真的不明白这种ogrid的东西是什么,但它确实有用。

干杯, 格特

import numpy             as np
import matplotlib.pyplot as plt

r= 800
s= 1000

y,x = np.ogrid[-s:s+1, -s:s+1]
mask = x*x + y*y <= r*r
aperture = np.ones((2*s+1, 2*s+1))
aperture[mask] = 0

plt.imshow(aperture)
plt.show()