Python 在数据帧上迭代时的不同值
我有一个数据框:Python 在数据帧上迭代时的不同值,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据框: 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 当我迭代pandas数据帧并尝试获取每行的值时: for row in df.ite
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
当我迭代pandas数据帧并尝试获取每行的值时:
for row in df.iterrows():
print(row[1]['lat'])
我得到25.14728900000001
为什么额外的数字以及如何获得
25.147289
?数据帧中的浮点值以数据类型指定的精度存储。您看到的显示内容由pandasdisplay.float\u格式控制,该格式设置为6位精度。这不会改变幕后的实际浮动
如果您想让打印报表为您取整
for row in df.iterrows():
print('{:0.6f}'.format(row[1]['lat']))
25.147289
48.646000
48.646000
48.646000
48.646000
谢谢@piRSquared,如果我强迫它浮动呢?所以float(row[1]['lat']
?它已经是float
。float(row[1]['lat'])
不会做任何与它已经做的不同的事情。