Python을 사용하여 목록 요소의 빈도 가져오기

Hafiz Muhammad Zohaib 2023년6월21일
  1. collections 모듈을 사용하여 Python을 사용하여 목록 요소의 빈도 가져오기
  2. Python을 사용하여 목록 요소의 빈도를 가져오는 수동 코드
  3. NumPy를 사용하여 Python을 사용하여 목록 요소의 빈도 가져오기
Python을 사용하여 목록 요소의 빈도 가져오기

이 짧은 기사에서는 Python을 사용하여 모든 목록 요소의 총 발생 수를 계산하는 가능한 방법을 설명합니다. 우리는 또한 이렇게 하는 것의 장단점을 볼 것입니다.

Python은 개발자가 구현이 아닌 핵심 문제에 집중할 수 있게 해주는 매우 다재다능한 언어입니다. C 또는 C++와 같은 다른 최신 언어보다 Python으로 코딩하는 것이 비교적 쉽습니다.

항목 빈도 문제는 Python을 통해 여러 가지 방법으로 해결할 수 있습니다. 먼저 공식적으로 문제를 소개하겠습니다.

목록 A= [2, 4, 7, 8, 12, 4, 6, 7, 8, 91, 8]과 같은 순서가 없는 숫자 목록을 고려하고 목록의 각 숫자의 빈도를 얻고 싶습니다. 목록에 숫자가 몇 번 나타나는지 확인하십시오.

답은 다음과 같아야 합니다. {'2': 1, '4': 2, '6': 1, '7': 2, '8': 3, '12': 1, '91': 1 }. 숫자 21번 존재하고 42번 존재하며 61의 빈도를 가짐을 의미합니다.

collections 모듈을 사용하여 Python을 사용하여 목록 요소의 빈도 가져오기

이 방법에서는 컬렉션 모듈을 사용합니다. 이 모듈의 카운터 함수는 목록에 숫자가 몇 번 나타나는지 추적하는 컨테이너를 반환합니다.

아래 코드를 참조하십시오.

import collections

a = [2, 4, 7, 8, 12, 4, 6, 7, 8, 91, 8]
counter = collections.Counter(a)
print(counter)
print(type(counter))

위의 코드는 다음 출력을 생성합니다.

Counter({8: 3, 4: 2, 7: 2, 2: 1, 12: 1, 6: 1, 91: 1})
<class 'collections.Counter'>

다음 코드를 사용하여 컨테이너에서 고유 번호를 가져올 수 있습니다.

counter.keys()

위의 코드 줄은 다음과 같은 결과를 제공합니다.

dict_keys([2, 4, 7, 8, 12, 6, 91])

마찬가지로 각 고유 번호의 개수를 얻으려면 다음 코드를 실행할 수 있습니다.

counter.values()

출력은 다음과 같습니다.

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

Python을 사용하여 목록 요소의 빈도를 가져오는 수동 코드

방법 1에서는 카운트에 collections 모듈을 사용했습니다. 하지만 이 방법에서는 원하는 결과를 얻기 위해 수동 코딩을 해야 합니다.

이 접근법의 코드는 다음과 같습니다.

List_numbers = [2, 4, 7, 8, 12, 4, 6, 7, 8, 91, 8]
dict_count = {}
for i, number in enumerate(List_numbers):
    if number in dict_count.keys():
        dict_count[number] = dict_count[number] + 1
    else:
        dict_count[number] = 1
print(dict_count)

이것은 사전 유형을 사용하여 각 숫자에 대한 개수를 저장하는 간단한 코드입니다. 사전의 키는 항상 고유하게 유지되며 이는 복제할 수 없음을 의미합니다.

위의 코드는 다음 출력을 생성합니다.

{2: 1, 4: 2, 7: 2, 8: 3, 12: 1, 6: 1, 91: 1}

이 코드의 복잡도는 O(n)입니다.

NumPy를 사용하여 Python을 사용하여 목록 요소의 빈도 가져오기

numpy 모듈에서 unique() 함수는 목록의 각 요소의 빈도를 찾을 수 있는 유연성을 제공합니다.

import numpy as np

List_numbers = [2, 4, 7, 8, 12, 4, 6, 7, 8, 91, 8]
print(np.unique(List_numbers, return_counts=True))

np.unique() 함수는 배열의 고유한 요소를 찾는 데 사용됩니다. 배열의 정렬된 고유 요소를 반환합니다.

선택적 매개변수 return_counts를 사용하면 각 요소 수를 얻을 수 있습니다.

앞의 코드는 다음을 출력합니다.

(array([ 2,  4,  6,  7,  8, 12, 91]), array([1, 2, 1, 2, 3, 1, 1]))

카운트를 얻으려면 다음을 사용할 수 있습니다.

np.unique(List_numbers, return_counts=True)[1]

이 기사에서는 Python에서 목록 요소의 수를 얻는 다양한 방법을 제안했습니다. 리소스 및 시간 복잡성에 따라 논의된 방법 중에서 선택할 수 있습니다.

관련 문장 - Python List