[英]Given a Geopandas GeoDataFrame with several geometry columns: How to calculate the distances to a main geometry column?
[英]Turn geometry column into lat/long columns in Geodataframe
我有一個帶有“幾何”列的地理數據框,其中包含點幾何,例如 POINT (-0.01334 51.52883)。 我需要提取緯度和經度並將其添加為數據框中的新列。
我嘗試使用
df['lon'] = df['geometry'].x
df['lat'] = df['geometry'].y
但它給了我一個 SettingWithCopyWarning,我不知道為什么。 有人可以幫忙嗎? 謝謝!
您可以嘗試將 lan/lon 提取直接應用於 df,如下所示:
df['lon'] = df.geometry.apply(lambda p: p.x)
df['lat'] = df.geometry.apply(lambda p: p.y)
問題不在於發布的代碼 - 根據 martinfleis 的評論,它與在運行此代碼之前多次切片原始數據幀有關。 我通過從原始數據框中刪除不需要的行而不是切片來避免 SettingWithCopyWarning。
考慮到這些值是所描述格式的字符串(lat lon)
您可以先替換括號以更好地查看。
之后,您可以通過中間的空格字符拆分並擴展列。 str.split 文檔
您最終會得到兩列 0 和 1,只需在此之后重命名它們即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.