【发布时间】:2013-12-09 16:51:07
【问题描述】:
我有 6 个列表存储两组位置的 x、y、z 坐标(每组 3 个列表)。我想计算两组中每个点之间的距离。我已经编写了自己的距离函数,但速度很慢。我的一个列表有大约 100 万个条目。 我试过 cdist,但它会产生一个距离矩阵,我不明白它是什么意思。是否有其他内置函数可以做到这一点?
【问题讨论】:
-
能否请您展示一些示例输入和输出
-
还有你的距离函数以及你正在解决的确切问题......笛卡尔3D空间中的距离函数非常简单:
sqrt((x2 - x1)**2 + (y2 - y1)**2 + (z2 - z1)**2),恐怕没有太多需要优化的地方。跨度> -
One of my lists has about 1 million entries.其他列表呢?如果它们具有相似的大小,大约是10^6 * 10^6 = 10^12点对,恐怕即使是内置函数也会很慢。 -
我建议你可以尝试编写一个 C 模块并在 Python 中调用它,或者完全使用 C 或 C++ 来进行计算。
标签: python list function distance