gpt4 book ai didi

python - numpy 在数组中的重复值中选择固定数量的值

转载 作者:太空狗 更新时间:2023-10-30 01:53:45 25 4
gpt4 key购买 nike

从一个具有重复值的简单数组开始:

a = np.array([2,3,2,2,3,3,2,1])

我正在尝试从中选择最多 2 个唯一值。生成的数组将显示为:

b = np.array([2,3,2,3,1])

无论项目的顺序如何。到目前为止,我试图通过以下方式找到独特的值(value):

In [20]: c = np.unique(a,return_counts=True)

In [21]: c
Out[21]: (array([1, 2, 3]), array([1, 4, 3]))

这很有用,因为它也返回值的频率,但我坚持按频率过滤。

最佳答案

你可以使用 np.repeatuniquescount 的数组中生成所需的数组:

import numpy as np

a = np.array([2,3,2,2,3,3,2,1])
uniques, count = np.unique(a,return_counts=True)
np.repeat(uniques, np.clip(count, 0, 2))

产量

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

np.clip 用于强制 count 中的所有值都在 0 和 2 之间。因此,对于每个唯一值,您最多可以获得两个值。

关于python - numpy 在数组中的重复值中选择固定数量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36446401/

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