在numpy中创建timesliced数组

时间:2014-01-13 10:25:19

标签: python numpy

我想创建一个numpy数组。

T = 200

我想创建一个从0到199的数组,其中每个值将除以200。

l = [0, 1/200, 2/200, ...]

Numpy有没有这样的计算方法?

4 个答案:

答案 0 :(得分:3)

或者,可以使用linspace

>>> np.linspace(0, 1., 200, endpoint=False)
array([ 0.   ,  0.005,  0.01 ,  0.015,  0.02 ,  0.025,  0.03 ,  0.035,
        0.04 ,  0.045,  0.05 ,  0.055,  0.06 ,  0.065,  0.07 ,  0.075,
          ...
        0.92 ,  0.925,  0.93 ,  0.935,  0.94 ,  0.945,  0.95 ,  0.955,
        0.96 ,  0.965,  0.97 ,  0.975,  0.98 ,  0.985,  0.99 ,  0.995])

答案 1 :(得分:2)

使用np.arange

>>> import numpy as np  
>>> np.arange(200, dtype=np.float)/200
array([ 0.   ,  0.005,  0.01 ,  0.015,  0.02 ,  0.025,  0.03 ,  0.035,
        0.04 ,  0.045,  0.05 ,  0.055,  0.06 ,  0.065,  0.07 ,  0.075,
        0.08 ,  0.085,  0.09 ,  0.095,  0.1  ,  0.105,  0.11 ,  0.115,
        ...
        0.88 ,  0.885,  0.89 ,  0.895,  0.9  ,  0.905,  0.91 ,  0.915,
        0.92 ,  0.925,  0.93 ,  0.935,  0.94 ,  0.945,  0.95 ,  0.955,
        0.96 ,  0.965,  0.97 ,  0.975,  0.98 ,  0.985,  0.99 ,  0.995])

答案 2 :(得分:1)

T = 200.0
l = [x / float(T) for x in range(200)]

答案 3 :(得分:1)

import numpy as np
T = 200
np.linspace(0.0, 1.0 - 1.0 / float(T), T)

我个人更喜欢linspace来创建均匀间隔的数组。在这种情况下更复杂,因为端点取决于点数T。