Найти точки в клетках через панды данных кадров
Я должен найти, какие точки находятся внутри сетки квадратных ячеек, учитывая координаты точек и координаты границ ячеек, через два кадра данных панд. Я зовуDFC кадр данных, содержащий код и граничные координаты ячеек (я упрощаю задачу, в реальном анализе у меня есть большая сетка с географическими точками и тоннами точек для проверки):
Code,minx,miny,maxx,maxy
01,0.0,0.0,2.0,2.0
02,2.0,2.0,3.0,3.0
а такжеDFP кадр данных, содержащий идентификатор и координаты точек:
Id,x,y
0,1.5,1.5
1,1.1,1.1
2,2.2,2.2
3,1.3,1.3
4,3.4,1.4
5,2.0,1.5
Теперь я хотел бы выполнить поиск, возвращающий в dfc dataframe новый столбец (называемый 'GridCode') сетки, в которой находится точка. Ячейки должны быть идеально возведены в квадрат, поэтому я хотел бы выполнить анализ с помощью:
a = np.where(
(dfp['x'] > dfc['minx']) &
(dfp['x'] < dfc['maxx']) &
(dfp['y'] > dfc['miny']) &
(dfp['y'] < dfc['maxy']),
r2['Code'],
'na')
избегая нескольких циклов на кадрах данных. Длина информационных фреймов не одинакова. Результирующий кадр данных должен быть следующим:
Id x y GridCode
0 0 1.5 1.5 01
1 1 1.1 1.1 01
2 2 2.2 2.2 02
3 3 1.3 1.3 01
4 4 3.4 1.4 na
5 5 2.0 1.5 na
Заранее спасибо за помощь!