2017-04-20 86 views
1

我有一个熊猫数据帧:不同的价值遍历大熊猫数据帧时

 name  lat   lon 
0 9999 25.147289 101.362893 
1 10000 48.646000 8.701000 
2 10001 48.646000 8.991000 
3 10002 48.646000 9.453000 
4 10003 48.646000 9.881000 

当我遍历大熊猫数据帧,并尝试为每一行获得价值:

for row in df.iterrows(): 
    print(row[1]['lat']) 

我得到25.147289000000001

为什么多余的数字,我怎么得到25.147289

回答

2

数据帧中的浮点值以dtypes指定的精度存储。显示的内容由pandas display.float_format控制,该值设置为6位精度。那不是改变幕后的实际浮动。

如果你希望你的print语句一轮你

for row in df.iterrows(): 
    print('{:0.6f}'.format(row[1]['lat'])) 

25.147289 
48.646000 
48.646000 
48.646000 
48.646000 
+0

感谢@piRSquared,浮动,如果我强迫它是什么?所以'float(row [1] ['lat']'? – user308827

+1

它已经是'float' ... float(行[1] ['lat'])'不会做任何不同于已经做的事情。 – piRSquared