2014-01-13 6 views
1

Я хочу создать массив numpy.создание временного массива в numpy

T = 200 

Я хочу, чтобы создать массив от 0 до 199, в котором каждое значение будет разделено на 200.

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

Numpy иметь любой такой метод расчета?

ответ

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]) 
1
import numpy as np 
T = 200 
np.linspace(0.0, 1.0 - 1.0/float(T), T) 

Лично я предпочитаю LINSPACE для создания равномерно распределенных массивов в целом. Это более сложный в этом случае конечная точка зависит от количества точек Т.

+1

Если у вас есть достаточно недавнее NumPy, вы можете использовать 'endpoint' аргумент 'linspace'. См. Ответ @ alko. –

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]) 
Смежные вопросы