gpt4 book ai didi

python - Numpy 通过分组数组拆分数组

转载 作者:太空宇宙 更新时间:2023-11-04 02:11:26 25 4
gpt4 key购买 nike

有如下2个等长的数组。我的目标是将数组 B 分成由数组 A 定义的组。所以最后应该有 3 个数组或一个数组列表。最终的数组列表应包含数组 B 的以下行:

  • 第一和第二
  • 第三和第五
  • 第四个

顺序并不真正相关。

A = array([[-1],
[ 1],
[ 0],
[ 0],
[ 1]])

B = array([[ 624.5 , 548. ],
[ 912.8201, 564.3444],
[1564.5 , 764. ],
[1463.4163, 785.9251],
[1698.0757, 846.6306]])

我在使用 dbscan 聚类功能时遇到了这个问题。 A 数组描述了数组 B 中点的簇 (0, 1)。值 -1 声明该点为异常值。 (使用的值不精确)。我的目标是计算紧凑度,...每个找到的集群

最佳答案

numpy_indexed包(免责声明:我是它的作者)在设计时就考虑到了这些类型的用例。

import numpy_indexed as npi
C = npi.group_by(A).split(B)

不确定每个组的紧凑性是什么意思;但与其拆分并进行后续计算,直接计算组的缩减通常更有效;由此您可以重用分组对象以提高效率:

groups = npi.group_by(A)
mean = groups.mean(B)
std = groups.std(B)

关于python - Numpy 通过分组数组拆分数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53649227/

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