我正在将一个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数据帧时,数据会发生变化。有什么问题?
答案 0 :(得分:2)
虽然问题是由于浮点运算,但如果您知道列的最大小数位数,则可以使用round(float_number, number_of_decimals)
来恢复正常值。或者,您可以将列读作字符串,然后使用float(float_number_string)
将其转换为float。