我正在尝试基于基于距离的 wight 和 max-p greddy 算法使用“pygeoda”库创建数据集的集群,使用每个多边形的面积来指示每个集群必须具有的最大面积。
问题是当我运行代码时出现此错误:
if w.num_obs < 1:
AttributeError: 'float' object has no attribute 'num_obs'
数据集有这个归档:
Number of observations: 375
Number of fields: 4
Geometry type(s): ('Polygon', 'MultiPolygon')
field name: field type (numpy.dtype):
id int64
sup float64
p float64
geometry geometry
到目前为止我试过这段代码:
import pandas as pd
import geopandas as gpd
import pygeoda
gpd_table=gpd.read_file(r'...\test.shp')
gda_table = pygeoda.open(gpd_table)
bound_vals=gda_table["sup"]
dist_w=pygeoda.min_distthreshold(gda_table, is_arc=False, is_mile=True)
bound_vals=gda_table[["sup"]]
min_bound=4000
maxp_cluster = pygeoda.maxp_greedy(dist_w, gda_table, bound_vals, min_bound)
maxp_cluster
我希望得到一张表,将我在数据集中拥有的每个多边形与每个聚类相关联。
如果需要,您可以在这里找到文档: pygeoda_docum
有什么想法吗?