如何修复Python Pandas Dataframes中的浮点差异?

时间:2016-07-13 11:49:17

标签: python-3.x pandas

我正在将一个CSV文件读入Panda的数据帧。检索数据时,我得到的值与原始数据略有不同。

我认为它与Python代表小数的方式有关。但是我该如何修复/解决它呢?

CSV数据示例:

1313331280,10.4,0.779
1313334917,10.4,0.316
1313334917,10.4,0.101
1313340309,10.5,0.15
1313340309,10.5,1.8

Pandas数据帧:

df = pd.read_csv(csv_file_full_path, names=['time','price', 'volume'])

输出:

ORDERS_DATA_FRAME.iloc[0]['volume']

source file value = 0.779
the pandas output value = 0.77900000000000003

读入Pandas数据帧时,数据会发生变化。有什么问题?

1 个答案:

答案 0 :(得分:2)

虽然问题是由于浮点运算,但如果您知道列的最大小数位数,则可以使用round(float_number, number_of_decimals)来恢复正常值。或者,您可以将列读作字符串,然后使用float(float_number_string)将其转换为float。