Python Pandas read_csv читает 0,803 как 0,80299999999999999 – решения? [дубликат]Python

Программы на Python
Anonymous
Python Pandas read_csv читает 0,803 как 0,80299999999999999 – решения? [дубликат]

Сообщение Anonymous »

Минимальный рабочий пример:

Код: Выделить всё

import pandas as pd
df = pd.DataFrame({'float_number':[0.803]})
df.to_csv('file.csv')
df = pd.read_csv('file.csv')
print(df.iloc[0]['float64_number'])
> 0.8029999999999999
Это проблематично при попытке удалить_дупликаты(). Кажется, одно из решений:

Код: Выделить всё

df = pd.read_csv('file.csv')
df['float64_number'] = df['float64_number'].round(10)
print(df.iloc[0]['float64_number'])
> 0.803
Это работает, но это грязно и не герметично. Есть еще предложения?

Код: Выделить всё

pd.__version__
'0.25.3'
(P.S., кажется, проблема только в 0.803?!?)

Подробнее здесь: https://stackoverflow.com/questions/783 ... -solutions

Вернуться в «Python»