如何使用symmtric范围的索引创建numpy数组? 我试过了:
np.zeros(-100:100,-100:100)
期望一个索引为-100 to +100
的数组。
答案 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()