首页 > 解决方案 > 使用assign方法在geopandas数据框中创建列

问题描述

我有以下一段完美运行的代码:

gdf = gpd.GeoDataFrame(df,crs={'init': 'epsg:4326'})
gdf["geometry"] = gdf.apply(lambda x: Point(x.longitud, x.latitud),axis=1)

我想使用 assign 方法创建列“几何”,但我不知道如何。我已经尝试过类似以下的方法,但它不起作用。

gdf = gpd.GeoDataFrame(df,crs={'init': 'epsg:4326'})\
.assign(geometry, apply(lambda x: Point(x.longitud, x.latitud),axis=1))

标签: pythonpandasgeopandas

解决方案


gdf = gpd.GeoDataFrame(df, crs='epsg:4326').assign(geometry=lambda x: [Point(lon, lat) for lon, lat in zip(x.longitud.tolist(), x.latitud.tolist())])

推荐阅读