Почему следующий код не приводит к step=0.1
?Я предполагаю, что это связано с точностью с плавающей запятой, но тогда как сделать это «правильным» способом?
import numpy as np
lastprice = 3779
binsize = 0.1
minbin = round(lastprice*0.25, 0) - binsize/2
maxbin = round(lastprice/0.25, 0) + binsize/2
bincount = int((maxbin-minbin) / binsize)
bins, steps = np.linspace(minbin, maxbin, num=bincount, retstep=True, endpoint=False)
print(minbin)
print(maxbin)
print(round((maxbin-minbin),0))
print(bincount)
print(steps)
print(bins)
Выше приведенный результат дает следующий результат: