You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何将LatLng坐标拆分为独立的Lat、Lng两个数值

Python拆分经纬度数组字段实现方案

前置说明

默认你提到的LatLng字段存储的是顺序为*[纬度, 经度]*的数组,以下给出两种最常用的实现方式:


方案1:基于Pandas处理(适配结构化表格场景,推荐)

适合已经/需要将数据集存储为DataFrame格式的场景,拆分后可直接导出为csv、excel等结构化文件。

  • 第一步:导入依赖,读取原始数据(以csv为例)
import pandas as pd
import ast

# 读取原始数据集
df = pd.read_csv("你的原始数据表路径.csv")
  • 第二步:处理LatLng字段
    如果LatLng本身是列表格式:
# 直接拆分出两个新字段
df[['Lat', 'Lng']] = pd.DataFrame(df['LatLng'].tolist(), index=df.index)

如果LatLng是字符串格式(比如存储为"[40.773819, -73.969132]"):

# 先将字符串转为真实数组
df['LatLng'] = df['LatLng'].apply(ast.literal_eval)
# 再拆分字段
df[['Lat', 'Lng']] = pd.DataFrame(df['LatLng'].tolist(), index=df.index)
  • 第三步:导出处理后的数据
# 导出为csv文件,index=False表示不保留行索引
df.to_csv("拆分后经纬度数据表.csv", index=False)

方案2:原生Python实现(无第三方依赖)

适合小数据集、不想安装第三方库的场景:

# 示例原始数据集,可替换为你自己的数据源
raw_data = [
    {"其他字段1": "xxx", "LatLng": [40.773819, -73.969132]},
    {"其他字段1": "yyy", "LatLng": [39.9042, 116.4074]}
]

processed_data = []
for item in raw_data:
    # 取出经纬度数组
    lat, lng = item.pop("LatLng")
    # 合并原有字段和新的经纬度字段
    processed_data.append({**item, "Lat": lat, "Lng": lng})

处理后的processed_data为结构化字典列表,可直接写入csv、数据库等存储介质。


注意:如果你的数据集LatLng数组存储顺序是[经度, 纬度],拆分后需要手动交换Lat和Lng的赋值,避免坐标错位。

内容的提问来源于stack exchange,提问作者tat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 16:48:03