gpt4 book ai didi

python - 快速比较 numpy 数组元素,大于或小于彼此

转载 作者:太空宇宙 更新时间:2023-11-03 17:57:10 28 4
gpt4 key购买 nike

我目前正在 python 中实现聚类算法。由于最终产品将使用数千个数组元素,我试图最大限度地减少循环并在最初尽可能地对其进行优化。

我使用 scipy 的 cdist 从选定数量的随机簇创建距离的二维数组。因此,3 个簇将产生一个距离数组,例如 x 点:

distances = array([[5.5,2.5,7.3],
[1.0,4.6,2.2],
[6.0,2.8,7.1],
[5.3,4.6,1.5],
...........]])

其中每列是距簇的距离,每行是一个点,我希望快速创建一个值 0,1 或 2 的数组,(可能出现相同距离的解决方案),如下所示:

label = array([1,0,1,2,.......])

除循环之外的快速解决方案将不胜感激。

最佳答案

使用

distances.argmin(axis=1)

返回

array([1, 0, 1, 2])

对于您的示例数组。

对于相同的距离,它返回该元素的第一次出现。

关于python - 快速比较 numpy 数组元素,大于或小于彼此,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28325345/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com