我想创建一个numpy数组。
T = 200
我想创建一个从0到199的数组,其中每个值将除以200。
l = [0, 1/200, 2/200, ...]
Numpy有没有这样的计算方法?
答案 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。