首页 > 解决方案 > 根据网格在 3D 中排序点

问题描述

我有一个 3D 点数组。我想做一些接近np.histogramdd所做的事情,但不是每个 bin 中的点数,我想返回其中点的实际坐标:如果没有则为零,如果没有则为精确 xyz只有一个,如果有两个或更多,则为 xyz 平均值,按 bin 指定的顺序。我应该相应地修改 histogramdd 的源代码,还是有更快/更清洁的方法?

标签: numpysortinghistogram

解决方案


这是一个食谱:

  1. 用于np.digitize获取每个点的每个坐标的 bin 索引
  2. 用于np.ravel_multi_index转换为平面 bin 索引
  3. 最后,
    1. 要么使用此帖子按 bin 对点进行分组
    2. 或用于np.bincount获取 bin 计数,并使用可选的第二个参数对每个 bin 的坐标求和

推荐阅读