You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

astype转换经纬度字段丢失小数位的问题求助

astype转换经纬度字段丢失小数位的问题求助

我最近处理经纬度坐标数据时碰到了个棘手的问题:当我用astype(float)转换LatitudLongitud这两个字段时,原本精确的小数位居然全部丢失,只剩整数部分了——这对经纬度数据来说完全失去了意义啊!

我执行的转换代码是:

df[["Latitud","Longitud"]] = df[["Latitud","Longitud"]].astype(float)

我需要保留的原始数据格式(精确到多位小数):

df[["Latitud", "Longitud"]]
Latitud Longitud
0   -34.807023  -56.0336021
1   -34.8879924 -56.1846677
2   -34.8895332 -56.1560728
3   -34.8860972 -56.1635684
4   -34.7242753 -56.2012194
393 -34.8575722 -56.0534571
394 -34.7448815 -56.2132383
395 -34.8539222 -56.2320066
396 -34.8513169 -56.1721213
397 -34.8220428 -55.9906951

但用astype(float)转换后得到的结果(只剩整数,完全丢失精度):

df[["Latitud", "Longitud"]]
Latitud Longitud
0   -35 -56
1   -35 -56
2   -35 -56
3   -35 -56
4   -35 -56
393 -35 -56
394 -35 -56
395 -35 -56
396 -35 -56
397 -35 -56

我已经试了两种方法,但都没解决问题:

  • 尝试用pd.to_numeric转换:df[["Latitud","Longitud"]] = pd.to_numeric(df[["Latitud","Longitud"]],errors='coerce')
  • 尝试设置浮点数显示格式:pd.options.display.float_format = '{:.08f}'.format

有没有大佬能教教我,怎么才能保住这些至关重要的小数位啊?

备注:内容来源于stack exchange,提问作者Franco Vera

火山引擎 最新活动