Создайте диапазон от 0 до 1 с шагом 0,05 в Numpy - PullRequest
0 голосов
/ 12 февраля 2020

Я хочу создать список от 0 до 1 с шагом 0.05, результат будет выглядеть следующим образом: [0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1]

Я пытаюсь использовать следующий код, но вывод кажется неправильным. Кто-нибудь может помочь? Спасибо.

print(np.arange(0, 1, 0.05).tolist())

Вывод:

[0.0, 0.05, 0.1, 0.15000000000000002, 0.2, 0.25, 0.30000000000000004, 0.35000000000000003, 0.4, 0.45, 0.5, 0.55, 0.6000000000000001, 0.65, 0.7000000000000001, 0.75, 0.8, 0.8500000000000001, 0.9, 0.9500000000000001]

Ответы [ 3 ]

1 голос
/ 12 февраля 2020

Вы хотите np.linspace()

np.linspace(0, 1, 21)
Out[]: 
array([0.  , 0.05, 0.1 , 0.15, 0.2 , 0.25, 0.3 , 0.35, 0.4 , 0.45, 0.5 ,
       0.55, 0.6 , 0.65, 0.7 , 0.75, 0.8 , 0.85, 0.9 , 0.95, 1.  ])
1 голос
/ 12 февраля 2020

Не обязательно использовать .tolist ().

Попробуйте:

a = np.arange(0, 1, 0.05)
print (a)

Вывод:

[0.   0.05 0.1  0.15 0.2  0.25 0.3  0.35 0.4  0.45 0.5  0.55 0.6  0.65
 0.7  0.75 0.8  0.85 0.9  0.95]
0 голосов
/ 12 февраля 2020

Это работает:

print(np.arange(0, 1, 0.05).round(2).tolist())

Вывод:

[0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95]
...