python - 向量化在 Numpy 中的多维数组中查找点集的中心
问题描述
我有一个多维数组,它有 100 万组 3 个点,每个点都是由 x 和 y 指定的坐标。调用这个数组pointVec,我的意思是
np.shape(pointVec) = (1000000,3,2)
我想找到每组 3 个点的中心。一种明显的方法是遍历所有 100 万个集合,在每次迭代中找到每个集合的中心。但是,我听说矢量化是 Numpy 的强项,所以我正在尝试使其适应这个问题。由于这个问题非常适合迭代,所以我不知道如何使用矢量化来解决这个问题,或者使用矢量化是否有用。
解决方案
这取决于您如何定义三点的中心。但是,如果它是平均坐标,如评论中提到的@Quang,您可以在 numpy 中沿特定轴取平均值:
pointVec.mean(1)
这将沿axis = 1(这是具有3个点的第二个轴)取平均值并返回一个(1000000,2)形状的数组。
推荐阅读
- ios - 如何使用 SwiftUI 扩展按钮的宽度
- python - 警告:脚本........安装在不在路径上的某个地方
- c# - 为什么即使打开 Excel 工作簿,ExcelApplication.Workbooks.Count 也显示为零
- c++ - 添加了自定义子组件但不可见
- visual-studio - 我可以使用 Selenium 在 VS 2017 dotnet 4.7 中创建自动化测试吗
- c++ - unordered_map 上的 C++ 未定义行为作为基于范围的 for 循环中的右值
- python - 如果 Loss 是字符串或函数,TensorFlow Keras 序列模型的训练方式会有所不同
- javascript - Apple Sign in Javascript :: 如何处理成功的登录回调(redirect_uri)
- ruby-on-rails - SystemStackError(堆栈级别太深)RVM 1.9.3
- flutter - 同时动态异步调用