Seaborn

스크래핑 한 결과를 정리해주고 시각화해주는 라이브러리
Interactive한 Python 코드 작성 / 공유를 위한 개발 도구

설치 및 사용법

# 설치
pip install seaborn # 파이썬 설치
conda install seaborn # 아나콘다 설치

#사용
import seaborn as sns # sns라는 축약어로 많이 사용됨.

sns.lineplot(x=[1, 3, 2, 4], y=[4, 3, 2, 1]) # 꺾은 선 그래프
sns.barplot(x=[1, 2, 3, 4], y=[0.7, 0.2, 0.1, 0.05]) # 막대 그래프

꺾은 선 그래프와 막대 그래프

※ 이 외의 다양한 그래프를 그리기 위해서는 https://seaborn.pydata.org/examples/index.html 참조!

그래프의 부가 설명

import matplotlib.pyplot as plt # matplotlib.pylot

plt.title("제목") # 그래프 제목 추가

plt.xlabel("X") # x축 설명 추가
plt.ylabel("Y") # y축 설명 추가

plt._xlim(s, l) # x축 s ~ l로 값 제한
plt._ylim(s, y) # y축 s ~ l로 값 제한

plt.figure(figsize = (x, y)) # 가로 x, 세로 y 만큼의 크기로 그래프를 그려줌, 크기를 조정해줄 때는 가장 먼저 써야한다..!

plt.show() # 그래프를 출력해라!
plt.imshow() # 이미지를 출력해라!

빈도 수

데이터 처리 및 시각화를 할 때 빈도를 측정하는 경우가 자주 발생한다.
collections 모듈에서 이를 도와준다.

from collections import Counter

counter = Counter(frequency) # frequency 라는 빈도를 저장해놓은 dictionary를 Counter 객체 생성 인자로 사용!
counter.most_common(x) # .most_common은 반환값은 list이며 frequency에서 value가 가장 높은 상위 x개를 추출!

 

Wordcloud

자주 등장하는 텍스트를 중요도나 인기도를 고려해 표현한 것이며 파이썬의 텍스트 클라우드 라이브러리이다.
konlpy는 한국어 형태소 분석기 라이브러리.

설치 및 사용법

자주 사용되는 방법은
1. KoNLPy 라이브러리로 한국어 문장을 전처리
2. Counter를 이용해 빈도수 측정
3. WordCloud를 이용하여 시각화

#설치

pip install wordcloud # 파이썬 설치
conda install wordcloud # 아나콘다 설치

pip install konlpy # 파이썬 설치
conda install -c conda-forge jpype1 # 아나콘다는 pip으로 설치를 하되 해당 명령어 선입력 필요.

#사용

from wordcloud import WordCloud # WordCloud 객체를 불러오기!
from konlpy.tag import Hannanum # kolnpy에서 Hannanum(형태소 분석기) 객체를 불러오기

hannanum = Hannanum() # Hannanum : 형태소 분석기 객체.
nouns = hannanum.nouns(national_anthem) # 형태소 분석기의 .nouns()는 명사를 추출! 문자열이 담긴 리스트로 반환해준다.

wordcloud = WordCloud(font_path="폰트 경로", background_color="color", width=x, height=y) # 폰트 경로에 있는 폰트로 wordcloud를 생성, 화면에 출력될 그림의 배경색은 color, 너비와 높이는 각각 width, height로 설정
img = wordcloud.generate_from_frequencies(빈도수 딕셔너리) # .generate_from_frequencies()는 빈도수로부터 wordcloud를 추출해준다.

'데브코스 > Week 3' 카테고리의 다른 글

Week 3 - 4  (0) 2024.04.04
Week 3 - 3  (0) 2024.04.03
Week 3 - 2  (0) 2024.04.02
Week 3 - 1  (0) 2024.04.01

+ Recent posts