Почему так выводит?

Есть некий Dataframe:

print(data.values)

Выводит:

[   nan   0.8635   0.8674   0.86925  0.86155  0.851675 0.8503   0.855425
 0.859525 0.87385  0.90065 ]

Однако когда пишу:

print(data.iloc[-1])

Выводит:

0.9006499999999997

А нужно 0.90065. В чем проблема? Как выводить числа точь в точь как в data.values?


Ответы (1 шт):

Автор решения: strawdog

Это вопрос представления чисел с плавающей точкой на конкретной машине или в конкретном окружении. Если хотите "железно" ограничить количество знаков после десятичной точки, можно настроить параметры pandas:

print(df.iloc[-1])

0 0.90065

pd.options.display.float_format = "{:,.3f}".format # 3 знака
print(df.iloc[-1])

0 0.901

→ Ссылка