python-3.x - 如何将纬度和经度显示为当前单列中没有分隔符的两个单独列?
问题描述
我在 Pandas 中有一个数据框,其中有一列标有“位置”。</p>
该列是一种对象数据类型,并且在该列中采用以下格式:
地点
————————</p>
点 (-73.525969
41.081897)
我想删除格式并将每个数据点存储在两列中:必须创建的纬度和经度。我将如何做到这一点?
我看过的类似帖子总是在数字之间有分隔符(例如逗号),但事实并非如此。谢谢!
序列号列表年份日期记录城镇地址评估价值销售金额销售比率物业类型住宅类型非使用代码评估员备注 OPM 备注位置 0 141466 2014 2015-08-06 Stamford 83 OVERBROOK DRIVE 503270.0 850000.0 0.592082 住宅单户住宅 NaN NaN NaN POINT (- 73.525969 41.081897)1 140604 2014 2014 2015-06-29 New Haven 56 HighView Lane 86030.0 149900.0 0.573916住宅单nan Nan Nan Nan Nan Nan Nan Nan Nan Nan Nan Nan Point(-72.878115 formess) NaN NaN POINT (-73.508273 41.286223) 3 140455 2014 2015-04-30 New Britain 171 BRADFORD WALK 204680.0 261000.0 0.784215 Residential Condo NaN NaN NaN POINT (-72.775592 41.713335) 4 141195 2014 2015-06-26 Stamford 555 GLENBROOK ROAD 229330.0 250000.0 0 .917320 住宅单身家庭 NaN NaN NaN POINT (-73.519774 41.07203)
解决方案
您可以使用pandas.Series.str.extract
:
df['Location'].str.extract('POINT \((?P<latitude>[-\d.@+])\s+(?P<longitude>[-\d.@+])\)').astype(float)
您可能需要\s+
根据实际输入更改分隔符
推荐阅读
- javascript - 测试期间未为子样式组件提供正确的主题
- ios - 如何在 Swift 中通过蓝牙流式传输音频和发送数据?
- php - 为什么我可以使用 Swift Mailer 从本地主机发送电子邮件,但不能使用 PHP 的 mail() 函数?
- java - Integer.numberOfTrailingZero(int i) 是如何工作的?
- javascript - 最后一行不等到长时间运行的循环结束
- excel - 从浏览器将 CSV 数据下载到 Excel
- python-3.x - 无法使用 unittest 捕获标准输出
- android - 删除 Android Studio 的未使用资源功能删除正在使用的字符串项目的内容
- akka.net - 为FMS管理的每个新进程创建actor实例是否正确
- sql - 概要描述命令在 Oracle SLECT 查询中执行什么