jjv*_*ade 4 python floating-point precision pandas
我正在编写一个程序,在日期系列中比较和排序值非常重要.但是,我遇到浮子不精确的问题
我从我的SQL服务器中提取这些数据,这些数据都应该是1.6.然而,结果却略有不同(见下文).因此,当我使用dataframe.rank()时,它不会将这两个日期视为相同的排名,而是将排名从01/02/2004排在02/01/2005之上.
任何人都知道如何处理这个,以便这两个最终会在同一级别?
modelInputData.loc['01/02/2004',('Level','inflationCore','EUR')]
Out[126]: 1.6000000000000003
modelInputData.loc['02/01/2005',('Level','inflationCore','EUR')]
Out[127]: 1.6000000000000001
Run Code Online (Sandbox Code Playgroud)
您可以在带有浮点数的列上使用pd.Series.round().
precision = 2
df['col'] = df['col'].round(decimals = precision)
Run Code Online (Sandbox Code Playgroud)
请参阅:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.round.html