Если вы преобразуете границу Чикаго GeoDataFrame в один многоугольник, например, с помощью:
chicago = df_chicago.geometry.unary_union
, тогда вы можете использовать булеву фильтрацию с оператором within
для выбора точек внутри и за пределами Чикаго:
within_chicago = df[df.geometry.within(chicago)]
outside_chicago = df[~df.geometry.within(chicago)]
с использованием ~
для инвертирования логического условия.
В качестве альтернативы можно использовать пространственный предикат disjoint
:
outside_chicago = df[df.geometry.disjoint(chicago)]