要有效地过滤geopandas df中不在形状多边形范围内的行,可以使用geopandas的空间查询功能来实现。具体步骤如下:
import geopandas as gpd
from shapely.geometry import Point, Polygon
filter_polygon = Polygon([(x1, y1), (x2, y2), (x3, y3), ...])
这里的坐标点(x1, y1), (x2, y2), (x3, y3), ...可以根据实际需要进行设置。
filter_polygon_gdf = gpd.GeoDataFrame({'geometry': [filter_polygon]})
filtered_df = gpd.sjoin(df, filter_polygon_gdf, how='inner', op='within')
这里的df是待过滤的geopandas DataFrame对象。
filtered_df.head()
这样就可以得到一个过滤后的geopandas DataFrame,其中包含了位于多边形范围内的行。
注意:上述代码中的df
和filtered_df
是变量名,需要根据实际情况进行替换。
推荐的腾讯云相关产品:腾讯云地理空间数据库(Tencent Cloud Spatial Database)
产品介绍链接地址:https://cloud.tencent.com/product/gsdb
领取专属 10元无门槛券
手把手带您无忧上云