numpy - 根据网格在 3D 中排序点
问题描述
我有一个 3D 点数组。我想做一些接近np.histogramdd所做的事情,但不是每个 bin 中的点数,我想返回其中点的实际坐标:如果没有则为零,如果没有则为精确 xyz只有一个,如果有两个或更多,则为 xyz 平均值,按 bin 指定的顺序。我应该相应地修改 histogramdd 的源代码,还是有更快/更清洁的方法?
解决方案
这是一个食谱:
- 用于
np.digitize
获取每个点的每个坐标的 bin 索引 - 用于
np.ravel_multi_index
转换为平面 bin 索引 - 最后,
- 要么使用此帖子按 bin 对点进行分组
- 或用于
np.bincount
获取 bin 计数,并使用可选的第二个参数对每个 bin 的坐标求和
推荐阅读
- css - 向材料表中的列添加特定的最小宽度
- kotlin - Kotlin 适配器声明问题:类型不匹配:推断类型是 MyTabAdapter 但 RecyclerView.Adapter<(raw) RecyclerView.ViewHolder!>?预计
- typescript - 使用 Typescript 初始化 Text.defaultProps
- node.js - 如何针对特定平台定位节点应用程序
- java - 使用银行App切换功能出错
- c++ - 结构体与 printf() 一起使用
- python - 使用有向图在 Python 中实现寻路
- javascript - 在 amcharts4 雷达图上旋转 CategoryAxis 标签
- reactjs - 如何将 NavLink activeStyles 应用于其子组件
- css - 如何自定义 Syncfusion React Scheduler 组件?