Python으로 문장 내 단어 빈도 쉽게 분석하기
기 - 문제의식
텍스트 데이터를 다루다 보면 특정 단어가 얼마나 자주 등장했는지 파악해야 할 때가 많습니다. 이를테면 문서 분석, 검색 엔진 최적화(SEO), 소셜 미디어 데이터 분석 등 다양한 분야에서 단어 빈도 계산이 중요한 역할을 합니다. Python은 이러한 작업을 간단하게 처리할 수 있는 강력한 도구를 제공합니다. 오늘은 Python을 사용해 문장 내 단어 빈도를 계산하는 방법을 알아보겠습니다.
승 - 해결책 1: collections.Counter 활용
Python의 collections 모듈 내 Counter 클래스는 단어 빈도를 계산하는 가장 간단하고 효율적인 방법 중 하나입니다. 아래는 예제 코드입니다:
from collections import Counter
sentence = "Python is amazing and Python is fun"
words = sentence.split()
word_counts = Counter(words)
print(word_counts)
위 코드는 단어를 공백으로 나눈 뒤, 각 단어가 몇 번 등장했는지를 계산해줍니다. 결과는 다음과 같습니다:
Counter({'Python': 2, 'is': 2, 'amazing': 1, 'and': 1, 'fun': 1})
만약 대소문자를 무시하고 싶다면 sentence.lower()를 사용해 소문자로 변환할 수 있습니다. Counter는 간결하면서도 강력한 기능을 제공하여 추천할 만합니다.
전 - 해결책 2: collections 없이 구현하기
만약 외부 모듈을 사용하지 않고 이 작업을 수행하려면 어떻게 해야 할까요? 다음은 이를 직접 구현한 코드입니다:
sentence = "Python is amazing and Python is fun"
words = sentence.lower().split()
word_counts = {}
for word in words:
if word in word_counts:
word_counts[word] += 1
else:
word_counts[word] = 1
print(word_counts)
이 코드는 각 단어를 순회하며, 이미 존재하는 단어의 빈도를 증가시키거나 새로운 단어를 추가합니다. 실행 결과는 다음과 같으며 Counter를 사용하는 방법과 동일한 결과를 얻을 수 있습니다:
{'python': 2, 'is': 2, 'amazing': 1, 'and': 1, 'fun': 1}
결 - 마무리 및 활용 방안
단어 빈도 분석은 데이터 분석에서 기본적이지만 매우 유용한 기술입니다. Python을 사용하면 collections.Counter와 같은 간단한 도구부터 직접 구현하는 방법까지 다양한 선택지가 존재합니다. 여러분의 필요에 맞는 방법을 선택해 활용해 보세요.
만약 데이터 전처리, 예를 들어 문장부호 제거나 불용어(stop words) 제거가 필요하다면 추가적인 코드를 더해 분석을 심화할 수도 있습니다.
이제 여러분도 Python으로 단어 빈도를 계산해보고, 다양한 텍스트 분석 작업에 도전해 보세요!
이 글이 도움이 되었길 바랍니다. 추가적으로 원하는 방향이나 수정이 있다면 말씀해 주세요! 😊
'파이썬 스크립트' 카테고리의 다른 글
Python으로 나만의 일정 관리 앱 만들기: SQLite와 Tkinter 활용하기 (4) | 2025.03.21 |
---|---|
Python & Excel 팁 Python의 xlwings를 활용하여 Excel 셀에 데이터를 효율적으로 다루는 방법 (1) | 2025.03.15 |
Python을 사용하여 Firebase Realtime Database의 특정 Child 삭제 및 Google Cloud Functions와 Cloud Scheduler를 사용하여 특정 시간에 작업 실행 (3) | 2025.03.13 |
Python과 TensorFlow를 사용한 이미지 분류 학습 예제 (0) | 2024.12.02 |
Python에서 문자열 유사도 검색 방법 (0) | 2024.11.19 |