【问题标题】:Find most repeated ! np.array ! in a list找到最重复的! np.array !在一个列表中
【发布时间】:2019-04-02 05:07:12
【问题描述】:

我看到了一些使用 scipy.stats.mode / np.bincount / collections.counter 在 numpy 数组中查找最常见标量的解决方案。

但我无法将这些应用到我的问题上。

拥有一个 numpy 数组列表,例如

 list_name = [np.array([1,2,3]),
         np.array([1,2,3]),
         np.array([5,6,7]),
         np.array([1,2,3]),
         np.array([2,3,4]),
         np.array([2,3,4])]

我想找到重复次数最多的向量 -> np.array([1,2,3]) 在上面显示的情况下。

感谢您对此的帮助!

马丁

【问题讨论】:

  • 每个数组的元素数量是否相同?
  • list 是一个 Python 数据结构。在关键字或数据结构之后命名对象不是一个好习惯。
  • 1) 是的,每个 np.array 的元素数量始终相同。 2)你是对的,一个名字的错误选择;-)

标签: python arrays list numpy scipy


【解决方案1】:

首先将向量列表转换为矩阵。

mtx = np.matrix(list)

通过计数获取唯一值

values, counts = np.unique(mtx, return_counts=True, axis=0)

检索最常见的值

values[counts==np.max(counts),]

【讨论】:

    猜你喜欢
    • 2013-05-28
    • 2022-01-05
    • 2021-02-24
    • 2021-04-28
    • 2015-11-28
    • 1970-01-01
    • 2022-01-06
    • 2021-02-24
    • 1970-01-01
    相关资源
    最近更新 更多