import geopandas as gp
from shapely.geometry import Polygon, Point
df2_geo = gp.GeoDataFrame(df2, geometry=gp.points_from_xy(df2.latitude, df2.longitude))
def make_polygon(a,b,c,d):
lat_list = [a,a,c,c]
lon_list = [b,d,d,b]
return Polygon(zip(lat_list, lon_list))
df1['geometry'] = df1.apply(lambda x: make_polygon(x['_from_latitude'], x['_from_longitude'], x['_to_latitude'],x['_to_longitude']),axis=1)
df1_gep = gp.GeoDataFrame(df1)
result = geopandas.sjoin(df2_geo, df1_gep, how="inner", op='intersects')
@ SubbuVidyaSekar Спасибо за предложение
Это отлично работает