首页 > 解决方案 > 如何将纬度和经度显示为当前单列中没有分隔符的两个单独列?

问题描述

我在 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)

标签: python-3.xpandasdataframelatitude-longitude

解决方案


您可以使用pandas.Series.str.extract

df['Location'].str.extract('POINT \((?P<latitude>[-\d.@+])\s+(?P<longitude>[-\d.@+])\)').astype(float)

您可能需要\s+根据实际输入更改分隔符


推荐阅读