我有很大的不。在2D平面中的点(大约百万)。我想将它们分组为由固定长度的正方形网格定义的单元格(每个单元格边是3)。我不需要。在给定单元格中的点数而不是我需要有关给定点的单元格的信息。什么是最好和最快的方法呢?是否有可以使用的python包?
答案 0 :(得分:0)
您可以使用np.searchsorted
执行此操作。例如:
atol()
对于每个点,您会找到long
和import numpy as np
xgrid = np.arange(0,33,3)
ygrid = np.arange(0,33,3)
mypoints = np.array([[4,8],[13,19],[21,1]])
icells = np.searchsorted(xgrid,mypoints[:,0])-1
jcells = np.searchsorted(ygrid,mypoints[:,1])-1
print icells,jcells
# [1 4 6] [2 6 0]
print xgrid[icells],ygrid[jcells]
# [ 3 12 18] [ 6 18 0]
网格的i
和j
索引,然后您可以使用这些索引查找"信息&# 34;关于给定点所在的细胞。