gpt4 book ai didi

python - Numpy:在没有循环的情况下获取索引中的最小值?

转载 作者:行者123 更新时间:2023-12-04 07:22:43 24 4
gpt4 key购买 nike

假设我有以下数组:

distance = np.array([2, 3, 5, 4, 8, 2, 3])
idx = np.array([0, 0, 1, 1, 1, 2, 2 ])
现在我想要一个索引内的最小距离。所以我的目标是:
result = [2, 4, 2]
我现在唯一的想法是这样的:
for i in idx_unique:
result.append(np.amin(distances[np.argwhere(idx = i)]))
但是有没有没有循环的更快的方法?

最佳答案

您可以转换 idx到 bool 向量以在距离向量内使用索引:

distance = np.array([2, 3, 5, 4, 8])
idx = np.array([0, 0, 1, 1, 1]).astype(np.bool)

result = [np.min(distance[~idx]), np.min(distance[idx])]

关于python - Numpy:在没有循环的情况下获取索引中的最小值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68396535/

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