【发布时间】:2020-09-10 07:56:33
【问题描述】:
我在 geodataframe 中有一个表,我已将其更改为 geopandas,它包含两个字段:ID 和几何。
几何列采用 WKT 格式,表格如下所示:
>>>ID geometry
0 1 POLYGON((2.9544435 6.3245124, 2.4098938 6.42657389...
1 2 POLYGON((3.4324624 6.8735201, 2.4590825 6.23098357...
...
我正在尝试替换括号和 POLYGON ,因此格式不是 POLYGON(()) 而是 MultiPolygon((()))。
我已将我的数据框从 geopandas 更改为 pandas,然后尝试使用替换:
covex['geometry']=covex['geometry'].replace({'POLYGON':'MultiPolygon'},regex=True)
covex['geometry']=covex['geometry'].replace({'\(\(':'\(\(\('},regex=True)
covex['geometry']=covex['geometry'].replace({'\)\)':'\)\)\)'},regex=True)
但由于某种原因,替换保留了****,例如:
>>>ID geometry
0 1 MULTIPOLYGON \(\(\(2.9544435 6.3245124, 2.4098938 6.42657389...
1 2 MULTIPOLYGON \(\(\(3.4324624 6.8735201, 2.4590825 6.23098357...
...
如果我不放 \ 它不会替换任何东西,我会收到以下错误消息:
error: missing ),位置 1 处未终止的子模式
我的最终目标是将多边形和 (( )) 替换为多多边形 ((()))
【问题讨论】:
标签: python pandas replace geopandas wkt