我必须通过两个 pandas 数据框找到哪些点位于方形单元格网格内,给定点坐标和单元格边界坐标。
我正在打电话dfc包含代码和单元格边界坐标的数据框(我简化了问题,在实际分析中我有一个大网格,其中包含地理点和大量要检查的点):
Code,minx,miny,maxx,maxy
01,0.0,0.0,2.0,2.0
02,2.0,2.0,3.0,3.0
and dfp包含 Id 和点坐标的数据框:
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 数据框中返回该点所在网格的新列(称为“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
在此先感谢您的帮助!