如何在 pandas python 中将对象列转换为几何图形?

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

我有一个包含这三列的数据框:

lat         long            Mapped Location

36.0455         -86.7122    POINT (-86.7122 36.0455)
36.1343         -86.7806    POINT (-86.7806 36.1343)
36.1208         -86.8029    POINT (-86.8029 36.1208)

我想使用映射位置点创建一个地理数据框,但列的数据类型是对象。我可以使用纬度列和长列创建一个新的几何列,但这似乎是一种浪费,因为我已经有了该信息。

我尝试过:

df['Mapped Location'] = df['Mapped Location'].astype(str)
df['Mapped Location'] = df['Mapped Location'].apply(wkt.loads)

我收到此错误:

预期的单词但遇到数字:'nan'

python pandas type-conversion geospatial
1个回答
0
投票

以下是将 DataFrame 转换为 GeoDataFrame 的方法:

import geopandas as gpd
from shapely import wkt

# Assuming df is your original DataFrame
# Convert the 'Mapped Location' column to Shapely geometries
df['geometry'] = df['Mapped Location'].apply(wkt.loads)

# Create a GeoDataFrame from the DataFrame
gdf = gpd.GeoDataFrame(df, geometry='geometry')

# Optional: Drop the 'Mapped Location' column if you no longer need it
gdf = gdf.drop(columns=['Mapped Location'])
© www.soinside.com 2019 - 2024. All rights reserved.