При кодировании некоторых элементов итерации массива я столкнулся со странным поведением функции numpy arange()
:
>>> import numpy as np
>>> np.arange(0.13,0.16, step=0.01)
array([0.13, 0.14, 0.15])
>>> np.arange(0.12,0.16, step=0.01)
array([0.12, 0.13, 0.14, 0.15, 0.16])
>>> np.arange(0.11,0.16, step=0.01)
array([0.11, 0.12, 0.13, 0.14, 0.15])
Как видите, при запросе запуска на 0.13
результат останавливается на шаг ниже конечного значения (как и должно быть), но при запросе запуска на 0.12
возвращается последнее значение! Далее, начиная с 0.11
, последнее значение снова исчезает.
Это вызывает некоторые очевидные проблемы, если вы ожидаете, что массив будет увеличен на единицу при расширении диапазона ровно на один шаг ...
Есть идеи, почему непоследовательное поведение?
Информация о системе: Python 3.6.5, numpy 1.14.0