我正在努力创造一种方法,可以轻松地对地理空间数据执行大量学科特定的计算。我知道Pandas具有扩展API(@pd.api.extensions.register_dataframe_accessor("name")
),而且我知道geopandas是Pandas扩展。因此,我想知道是否可以在geopandas对象上使用Pandas扩展API:
@pd.api.extensions.register_dataframe_accessor("MyGPDext")
class GeoExtender:
def __init__(self, geopandas_obj):
self._obj = geopandas_obj
def offcenter(self):
return self._obj.geometry.centroid() + [15, 20] # as an arbitrary example of needing
# a geopandas method within my method