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

如何为pygeoda maxp_greedy()的聚类结果关联GeoDataFrame几何信息?

解决pygeoda maxp_greedy聚类结果关联几何数据的问题

你可以通过以下步骤将聚类ID与原GeoDataFrame的几何数据关联,生成目标格式的DataFrame:

实现步骤

  1. 提取聚类ID序列:从maxp_clusters字典的'Clusters'字段中取出聚类ID元组,转换为列表。
  2. 关联到原始GeoDataFrame:为gpd_table新增cluster_id列,赋值为提取出的聚类ID列表。
  3. 生成目标DataFrame:从gpd_table中筛选cluster_id和geometry两列即可。

完整代码示例

import geopandas as gpd
import pandas as pd
import pygeoda

# 读取原始矢量数据
gpd_table = gpd.read_file(r'...\test.shp')
gda_table = pygeoda.open(gpd_table)

# 准备聚类参数与数据
data = gda_table[["id", "p"]]
bound_vals = gda_table["p"]
min_bound = 81351.2 

rook_w = pygeoda.rook_weights(gda_table)

# 执行MAXP贪婪聚类
maxp_clusters = pygeoda.maxp_greedy(rook_w, data, bound_vals, min_bound, iterations=99)

# 将聚类ID关联到原始GeoDataFrame
cluster_ids = list(maxp_clusters['Clusters'])
gpd_table['cluster_id'] = cluster_ids

# 生成包含聚类ID和几何数据的目标DataFrame
result_df = gpd_table[['cluster_id', 'geometry']]

# 查看结果示例
print(result_df.head())

生成的result_df将完全匹配你期望的格式,每条记录对应一个点的聚类ID和几何信息。

内容的提问来源于stack exchange,提问作者J.Patordi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 04:44:54