Sign up to take part
Registered users can ask their own questions, contribute to discussions, and be part of the Community!
Registered users can ask their own questions, contribute to discussions, and be part of the Community!
Hi,
I am working with a database with plenty of float64 operations, and I have trouble comparing these floats which each other when reading/writing from the database. A simple example of this is as follows:
import dataiku
import pandas as pd
df = pd.DataFrame(data = {'a' : [3222.232343243847737]})
db = dataiku.Dataset("test")
db.write_with_schema(df)
df2 = db.get_dataframe()
print(df.values[0][0] == df2.values[0][0])
1 rows successfully written (L26vwn5Fzw)
False
Here it seems that the floating value seem to change in the process of reading/writing the database. Am I doing something wrong, is this expected behavior?
@Dryopes ,
Welcome to the Dataiku Community, glad to have you here.
A while back I ran into something similar. Not clear if it will be your problem or not.
What was explained to me was a binary encoding rounding error. But I think in my example I had a division.
See if you put a round() function around things out to say 15 places if the problem resolves.
That said Iโd also encourage you to put in a support ticket. If you have found a defect it would be great to get this in the backlog with the development team.
Here is a somewhat longer discussion on this topic. https://community.dataiku.com/t5/General-Discussion/Precision-on-Mathematical-formulas-on-a-recipe/t...