2017-04-20 188 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