布尔过滤器 geopandas 数据框紧随其后

问题描述

我有一个 geopandas 数据框,我使用 shapely 对多点数据集执行凸包操作。

top_sample_col.within(cvh_base)

这将返回一个布尔值,如何仅将那些分配为 true 的值分配给新的 gdf? (选项A)

我可以使用 .set_index(),但如何通过 index=True(选项 B)进行过滤

选项 A 是首选方法

编辑

这样做可以,但可以更精简吗?

df['within'] = top_sample_col.within(cvh_base)
df = df.loc[df['within'] == True]

解决方法

您可以直接将布尔数组作为掩码传递。

df = df.loc[top_sample_col.within(cvh_base)]