我尝试使用pandas将excel表读入数据帧,但对于浮点列,数据读取不正确。我使用函数read_excel()来完成任务
在excel中,值为225789.479905466,而在数据框中,值为225789.47990546614,这会导致我将数据从excel导入数据库时出现差异。
pandas.read_exel()是否有人面临同样的问题。我没有问题将csv读取到数据帧。
杰里米
答案 0 :(得分:0)
我认为这只是浮点错误和/或默认的Excel视图没有显示数字的完整精度。
还要考虑以下事项:
from decimal import Decimal
x = Decimal(225789.479905466)
y = Decimal(225789.47990546614)
print(abs(x - y)/y)
6.444904002816901933512563658E-16
6.5e-14%的差异是否会有意义地改变分析的结果?
我打赌它不会。
答案 1 :(得分:0)
Excel可能会截断您的值,而不是pandas。如果从Excel导出到.csv并注意如何操作,则应该能够使用pandas.read_csv
阅读并维护所有数据。 pandas.read_csv
还有一个无证的float_precision
kwarg,可能有用或无用。
答案 2 :(得分:0)