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

使用Python拆分括号内字符串对 提取经纬度存入DataFrame

实现方法

根据你存储坐标的列类型不同,可以选择对应方法:

  • 若坐标列为字符串格式(和你给出的示例一致,带括号、逗号分隔的文本),用正则提取即可:
import pandas as pd

# 提取括号内的纬度、经度并转为浮点类型
df[['latitude', 'longitude']] = df['coords'].str.extract(r'\((.*),\s*(.*)\)').astype(float)
  • 若坐标列已经是元组格式,直接拆分元组赋值即可:
df[['latitude', 'longitude']] = pd.DataFrame(df['coords'].tolist(), index=df.index)

完整可运行测试示例

你可以直接运行下面的代码验证效果,使用的就是你提供的示例数据:

import pandas as pd

# 构造与示例一致的原始数据
raw_data = [
    "(45.349586099999996, -75.81031967988278)",
    "(-37.77922725, 175.2010323246593)",
    "(-42.9945669, 170.7100413)",
    "(-39.2711067, 174.154795)",
    "(51.2800275, 1.0802533)",
    "(-41.30222105, 172.89453190955697)",
    "(-35.3712702, 173.7405337)",
    "(-45.7255555, 168.2936808)",
    "(-40.3284102, 175.8190684)",
    "(-45.1299859, 169.5248818)",
    "(-37.9503756, 176.93828736155422)"
]
df = pd.DataFrame({'coords': raw_data})

# 拆分坐标为两列
df[['latitude', 'longitude']] = df['coords'].str.extract(r'\((.*),\s*(.*)\)').astype(float)

# 输出前5行验证结果
print(df.head())

运行后生成的DataFrame会自带latitude和longitude两个数值列,可直接用于后续数据处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 18:06:03