numpy如何查找数组中个数最多的元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了numpy如何查找数组中个数最多的元素相关的知识,希望对你有一定的参考价值。

import numpy as np
b=np.array([[0, 4, 4],[2, 0, 3],[1, 3, 4]])
print('b=')
print(b)
l=sorted([(np.sum(b==i),i) for i in set(b.flat)])
'''
np.sum(b==i) #统计b中等于i的元素个数
set(b.flat)  #将b转为一维数组后,去除重复元素
sorted()     #按元素个数从小到大排序
l[-1]        #取出元素个数最多的元组对 (count,element)
'''
print('max times of element in b is 1 with 0 times'.format(*l[-1]))

[willie@localhost pys]$ python3 countnumpy.py 

b=

[[0 4 4]

 [2 0 3]

 [1 3 4]]

max times of element in b is 4 with 3 times

参考技术A 定义二维数组a
定义一个四个元素的一维数组b,初始值为二维数组前四个元素,由小到大排序。
从二维数组第五个元素开始遍历二维数组,逐一与b[3]比较,如果比b[3]小,则加入到b中,保持b的四个元素有序,同时抛弃原始的b[3]

遍历结束后,还存在b中的四个元素,就是最小的四个了。本回答被提问者采纳

以上是关于numpy如何查找数组中个数最多的元素的主要内容,如果未能解决你的问题,请参考以下文章

查找数组中出现次数最多的元素(一次遍历)

查找数组中重复次数最多的元素的算法错误

Java实现找出数组中重复次数最多的元素以及个数

在c#中找出一个数组中出现次数最多的元素,求各种方法,要详细的代码

用对象存储的方法实现查找字符串或者数组中重复次数最多的元素!!!!!

js查找数组中出现次数最多的元素