我的numpy数组总是以零结尾?

时间:2013-03-11 00:40:28

标签: python math numpy

我想我错过了某个地方。我使用两个for循环(x和y)和一个基于x,y位置的函数填充了一个numpy数组。唯一的问题是,无论数组的大小如何,数组的值总是以零结尾。

thetamap = numpy.zeros(36, dtype=float)
thetamap.shape = (6, 6)
for y in range(0,5):
    for x in range(0,5):
        thetamap[x][y] =  x+y
print thetamap

1 个答案:

答案 0 :(得分:8)

range(0, 5)生成0, 1, 2, 3, 4。始终省略端点。您只需要range(6)

更好的是,使用NumPy 的强大功能将数组放在一行:

thetamap = np.arange(6) + np.arange(6)[:,None]

这会产生一个行向量和一个列向量,然后使用NumPy广播将它们加在一起构成一个矩阵。