Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python으로 데이터 세트에서 가장 빈번한 단어 k개 찾는 방법

데이터 세트에서 가장 자주 등장하는 상위 10개 단어를 추출해야 하는 경우가 종종 있습니다. 이럴 때 파이썬(Python)collections 모듈을 활용하면 아주 간단하게 해결할 수 있습니다.

collections 모듈에는 Counter 클래스가 포함되어 있으며, 단어 목록을 전달하면 각 단어의 출현 횟수를 자동으로 계산해 줍니다. 여기에 most_common() 메서드를 함께 사용하면 프로그램에서 필요로 하는 개수만큼 빈도수가 높은 단어를 손쉽게 얻을 수 있습니다.

예제 코드

아래 예제에서는 하나의 문단을 대상으로 작업합니다. 먼저 split() 메서드를 사용해 문자열을 단어 리스트로 변환한 뒤, Counter()에 전달하여 전체 단어의 빈도수를 계산합니다. 마지막으로 most_common() 함수를 호출하면 빈도수가 가장 높은 단어를 원하는 개수만큼 결과로 받을 수 있습니다.

from collections import Counter
word_set = " This is a series of strings to count " \
    "many words . They sometime hurt and words sometime inspire "\
    "Also sometime fewer words convey more meaning than a bag of words "\
    "Be careful what you speak or what you write or even what you think of. "\
# 문자열 내 모든 단어의 리스트 생성
word_list = word_set.split()

# 각 단어별 출현 횟수 계산
word_count = Counter(word_list)

# Counter 서브클래스의 most_common() 메서드 사용
print(word_count.most_common(3))

실행 결과

위 코드를 실행하면 다음과 같은 결과를 확인할 수 있습니다.

[('words', 4), ('sometime', 3), ('what', 3)]

결과를 보면 'words'가 4회로 가장 많이 등장했고, 'sometime'과 'what'이 각각 3회로 그 뒤를 이었습니다. 이처럼 Countermost_common()을 조합하면 몇 줄의 코드만으로 텍스트 데이터에서 핵심 단어를 빠르게 분석할 수 있어 로그 분석, 검색어 통계, 워드클라우드 생성 등 다양한 실무 환경에서 유용하게 활용됩니다.