因此,我试图通过使用row.values.tolist()
将浮点型DataFrame转换为列表(列表)(row
是从CSV文件读取的)。它的工作还可以,尽管对于一些值来说,精度会受到影响,因此,例如,它输出的不是32.337
,而是输出32.336999999999996.
由于tolist()
产生列表列表,并且我需要使用列表,所以我决定切换到list(row.values.flatten())
,但是它引入了几乎any值的精度问题该列表,这使情况更糟。
我在大约3年前就找到了关于此问题的discussion on Github,但是我找不到其他任何最新信息,而且我也不知道如何克服这个问题。
我尝试使用pd.set_option('display.precision',4)
,因为对于大多数值,我最多需要四个有效数字,但这也不起作用(假设我正确使用了它。)>
是否有任何解决方法?
因此,我试图通过使用row.values.tolist()(从CSV文件读取行)将浮点型DataFrame转换为列表(列表)。它的工作还不错,尽管对于某些值,精度是...
但是,根据基本值,您可能仍然会遇到精度问题。您仍然可以使用round
指定希望的小数位数。
您看到的“精度损失”是由于二进制浮点不能精确表示十进制分数,因此存在一些舍入误差。如果您确实希望将十进制值保持不变,那么使用实际的十进制表示形式会得到更好的结果...
正如Padraic所暗示的,您没有使用display.precision
修改正确的选项。相反,请尝试: