我正在使用熊猫读取一个Excel文件,其中包含最近10年的地震数据。但是,当我阅读Python时,数字(更确切地说是小数部分)似乎发生了变化。
第一行在Excel中具有“ EQ_PRIMARY”列= 9.1。当我尝试在Python中输出时,得到9.0999999999999996。这没什么大不了的,但是我真的希望它能正确输出而不使用格式化或类似的东西。可能是什么问题?
这就是我现在正在读取/分析数据集的方式:
import pandas as pd
data = pd.read_excel("Earthquakes.xls",sheet_name="earthquakes")
data["EQ_PRIMARY"].max()
输出为
9.0999999999999996
答案 0 :(得分:0)
我认为这是一个重复的问题,请参见以下内容:
https://stackoverflow.com/questions/47368296/pandas-read-csv-file-with-float-values-results-in-weird-rounding-and-decimal-dig
解决方案是使用float_precision ='round_trip':-
pd.read_csv(source_file, float_precision='round_trip')
答案 1 :(得分:-1)