在Geodataframe中将几何列转换为纬度/经度列

问题描述 投票:0回答:1

我有一个带有'geometry'列的Geodataframe,其中有点几何,例如要点(-0.01334 51.52883)。我需要提取经度和纬度,并将其添加为数据框中的新列。

我尝试使用

df['lon'] = df['geometry'].x
df['lat'] = df['geometry'].y

但是它给了我一个SettingWithCopyWarning,我不确定为什么。有人可以帮忙吗?谢谢!

python geopandas shapely
1个回答
0
投票

考虑到值是按(lat lon)所述格式的字符串,您可以先替换括号以更好地查看。

  1. df["geo"] = df["geo"].str.replace(r"[\(\)", "")enter image description here

之后,您可以在中间按空格字符分开并扩展列。 str.split doc

  1. df = df["geo"].str.split(" ", expand=True)

    str.split

您将得到两列0和1,只需要在那之后重命名它们即可。

© www.soinside.com 2019 - 2024. All rights reserved.