Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 목록에서 가장 빈도가 높은 요소

<시간/>

많은 통계 데이터 분석은 주어진 값 목록에서 최대 빈도를 갖는 값을 찾으려고 합니다. Python은 주어진 목록에서 그러한 값을 찾을 수 있는 여러 접근 방식을 제공합니다. 다음은 접근 방식입니다.

카운터 사용

Collections 모듈의 Counter 함수에는 주어진 목록에서 가장 일반적인 요소를 직접 찾을 수 있는 옵션이 있습니다. 가장 빈도가 높은 한 요소에 대해서만 매개변수 1을 전달하고 빈도가 가장 높은 두 요소가 필요한 경우 2를 전달하는 most_common 함수가 있습니다.

예시

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)]

모드 사용

모드는 파이썬의 통계 모듈에서 사용할 수 있는 통계 기능입니다. 가장 높은 주파수의 요소를 출력합니다. 이러한 요소가 여러 개 있는 경우 빈도가 가장 높은 첫 번째 요소가 출력됩니다.

예시

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