Python을 사용하여 목록 요소의 빈도 가져오기
-
collections
모듈을 사용하여 Python을 사용하여 목록 요소의 빈도 가져오기 - Python을 사용하여 목록 요소의 빈도를 가져오는 수동 코드
-
NumPy
를 사용하여 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 }
. 숫자 2
는 1
번 존재하고 4
는 2
번 존재하며 6
은 1
의 빈도를 가짐을 의미합니다.
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에서 목록 요소의 수를 얻는 다양한 방법을 제안했습니다. 리소스 및 시간 복잡성에 따라 논의된 방법 중에서 선택할 수 있습니다.