首页 > 解决方案 > 删除带有“e”的缩写经度值

问题描述

我有一个包含 300k 加经度和纬度坐标的数据集

我正在尝试反向地理编码以在执行此操作时将每个区域放在一个列中我收到一条错误消息--->

'必须是坐标对或点'--->ValueError: Must be a coordinate pair or Point

经过调查,我意识到我的一些坐标已经像这样使用'e'缩写了-1e-05

.... 任何人都可以帮我删除经度列中所有带有e缩写的值,好吗????

标签: pythondataframedata-cleaninggeopandasdata-wrangling

解决方案


将字符串转换为浮点数

num = '-1e-9'
num = float(num)

如果您正在使用pandas并且您的列被命名latitud

df['latitud'] = df['latitud'].apply(float)

如果值的形式'2.3, -3.8'

df['latitud'] = df['latitud'].apply(lambda item: ','.join(map(lambda value: str(float(value)), item.split(','))))

检查一下,如果该列有其他字符串无法转换为浮点数,则会显示错误。


推荐阅读