You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Geopandas中合并Zip Code多边形为MultiPolygon时汇总列数据

解决方法

直接使用GeoPandas的dissolve方法即可完成按area#分组合并几何并汇总人口的需求,这是GeoPandas专门为空间数据聚合优化的功能,比普通groupby更高效适配。

核心代码

# 假设你的GeoDataFrame变量名为gdf
aggregated_gdf = gdf.dissolve(
    by='area#',
    aggfunc={'population': 'sum'},
    as_index=False
)

代码说明

  • by='area#':指定按area#字段分组
  • aggfunc={'population': 'sum'}:对population列执行求和汇总
  • as_index=False:保持area#为普通数据列,而非DataFrame索引,方便后续操作

额外处理(可选)

如果需要强制将所有几何类型转为MultiPolygon(即使单Polygon的情况),可以添加以下转换逻辑:

from shapely.geometry import MultiPolygon

def convert_to_multipolygon(geom):
    return geom if isinstance(geom, MultiPolygon) else MultiPolygon([geom])

aggregated_gdf['geometry'] = aggregated_gdf['geometry'].apply(convert_to_multipolygon)

结果验证

执行后可以通过以下命令确认结果:

# 查看前几行数据结构
aggregated_gdf.head()

# 查看几何类型分布
aggregated_gdf.geometry.type.value_counts()

内容的提问来源于stack exchange,提问作者artodito

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 23:25:32