从Excel读取时,熊猫会更改数字

时间:2019-03-24 20:12:04

标签: python pandas

我正在使用熊猫读取一个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

2 个答案:

答案 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)

Pandas不会更改号码。您的代码输出正确返回了excel文件中的数字。您可以通过在MS Excel decimal point change的主页选项卡中单击以下按钮来检查实际数字 如果要四舍五入,请使用四舍五入方法。