Мне нужно выполнить попарно-содержащую операцию между двумя геоданными.geo_listings
содержит геометрию точек, а geo_listings_buffer
содержит геометрии многоугольника, соответствующие результатам выполнения buffer
на первом кадре данных.
Функция contains
возвращает серию после выполнения поэлементной операции.Я хочу вернуть квадратную матрицу.
У меня есть этот код, который работает, но он очень медленный:
pair_contains = np.zeros((geo_listings.shape[0],geo_listings.shape[0]))
for i, row in geo_listings.iterrows():
pair_contains[i,:] = geo_listings_buffer.contains(row['geometry'])
У меня около 8000 строк, и этот код занимает 8-9 минутзапустить.
Все, что можно улучшить, было бы полезно.