我想实现itertools.combinations对于NumPy。基于thisdiscussion,我有一个适用于一维输入的函数:defcombs(a,r):"""Returnsuccessiver-lengthcombinationsofelementsinthearraya.Shouldproducethesameoutputasarray(list(combinations(a,r))),butfaster."""a=asarray(a)dt=dtype([('',a.dtype)]*r)b=fromiter(combinations(a,r),dt)returnb.view(
我想实现itertools.combinations对于NumPy。基于thisdiscussion,我有一个适用于一维输入的函数:defcombs(a,r):"""Returnsuccessiver-lengthcombinationsofelementsinthearraya.Shouldproducethesameoutputasarray(list(combinations(a,r))),butfaster."""a=asarray(a)dt=dtype([('',a.dtype)]*r)b=fromiter(combinations(a,r),dt)returnb.view(
作为工作项目的一部分,我必须计算3D空间中一组点的质心。现在,我正在以一种看似简单但幼稚的方式来做这件事——通过取每组点的平均值,如下所示:centroid=average(x),average(y),average(z)其中x、y和z是float数组。我似乎记得有一种方法可以获得更准确的质心,但我还没有找到一个简单的算法来做到这一点。有人有什么想法或建议吗?我为此使用Python,但我可以改编其他语言的示例。 最佳答案 与这里的常见说法相反,有不同的方法来定义(和计算)点云的中心。您已经提出了第一个也是最常见的解决方案,我将不争辩