Вы должны быть очень осторожны, используя arange
для шагов с плавающей запятой. Из документов :
При использовании нецелого шага, такого как 0,1, результаты часто не будут согласованными. Для этих случаев лучше использовать numpy .linspace.
Вместо этого используйте linspace
, что позволяет указать точное количество возвращаемых значений.
>>> np.linspace(0, 1, 11)
array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ])
linspace
также фактически позволяет вам указать, следует ли включать конечную точку (True
по умолчанию):
>>> np.linspace(0, 1, 11, endpoint=True)
array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ])
>>> np.linspace(0, 1, 11, endpoint=False)
array([0. , 0.09090909, 0.18181818, 0.27272727, 0.36363636,
0.45454545, 0.54545455, 0.63636364, 0.72727273, 0.81818182,
0.90909091])