Python列表中频率最高的元素

许多统计数据分析试图在给定的值列表中找到频率最大的值。Python提供了多种方法,通过这些方法我们可以从给定列表中找到这样的值。下面是方法。

使用计数器

来自集合的计数器功能模块具有一个选项,可以直接在给定列表中找到最常见的元素。我们具有most_common函数,仅对频率最高的一个元素传递参数1,如果需要两个频率最高的元素,传递参数2。

示例

from collections import Counter

# Given list
listA = ['Mon', 'Tue','Mon', 9, 3, 3]

print("Given list : ",listA)

# Adding another element for each element
Newlist1 = Counter(listA).most_common(1)
Newlist2 = Counter(listA).most_common(2)


# Results
print("New list after duplication: ",Newlist1)
print("New list after duplication: ",Newlist2)

输出结果

运行上面的代码给我们以下结果-

Given list : ['Mon', 'Tue', 'Mon', 9, 3, 3]
New list after duplication: [('Mon', 2)]
New list after duplication: [('Mon', 2), (3, 2)]

使用方式

该模式是python的统计模块中可用的统计函数。它将输出频率最高的元素。如果存在多个这样的元素,则将首先遇到频率最高的元素作为输出。

示例

from statistics import mode

# Given list
listA = ['Mon', 'Tue','Mon', 9, 3, 3]
listB = [3,3,'Mon', 'Tue','Mon', 9]
print("Given listA : ",listA)
print("Given listB : ",listB)

# Adding another element for each element
Newlist1 = mode(listA)
Newlist2 = mode(listB)

# Results
print("New listA after duplication: ",Newlist1)
print("New listB after duplication: ",Newlist2)

输出结果

运行上面的代码给我们以下结果-

Given listA : ['Mon', 'Tue', 'Mon', 9, 3, 3]
Given listB : [3, 3, 'Mon', 'Tue', 'Mon', 9]
New listA after duplication: Mon
New listB after duplication: 3