[Python] 예제로 익히는 Python 06

Data_Student·2024년 10월 31일
0

Python

목록 보기
7/7

[Python] 예제로 익히는 Python 06

예제로 익히는 파이썬 - 6회차 정리

  • python 라이브러리를 활용한 기본적인 데이터 시각화를 진행

01. 기본 그래프 그리기

  1. 데이터 분석가에게 시각화란?

    • 데이터 분석 결과를 시각적으로 표현하고 의사소통 하는것
    • 텍스트로 전달하는 것보다 사용자의 흥미 유발이 가능하며 중요한 역량 중 하나
  2. Python에서 바로 그래프를 그릴 수 있는 내장 함수

    • 파이썬은 기본 내장 함수로 그래프를 그릴 수 있음
    • .plot 을 통해, 간단히 그래프가 구현
      # 기본 그래프 그리기 
      df2.groupby('Gender')['Customer ID'].count().plot.bar()
      # 컬러 지정
      df2.groupby('Gender')['Customer ID'].count().plot.bar(color=['yellow','purple'])
       ```

02. 다양한 그래프 그리기

  1. 시각화에 유용한 라이브러리

    • Matplotlib
      Python에서 가장 많이 쓰는 라이브러리
      라인, 바, 산점도, 히스토그램, 파이 차트 등 지원
      제목, 레이블, 색상 지원
      그래프를 PNG, PDF, SVG 등의 형식으로 저장 지원

    • seaborn
      matplotlib 기반의 시각화 라이브러리
      통계 그래픽을 그리기 위한 고급 인터페이스를 제공
      라인, 바, 산점도, 히스토그램, 박스, 커널 밀도, 조인트, 관계, 히트맵 등 지원

    • Altair
      Python에서 사용되는 선언적인 통계 데이터 시각화 라이브러리
      문법이 간단하다는 특징을 가지고 있음
      인터렉티브 그래프 지원

      필수요소 - 데이터, 마크, 인코딩, 인터렉티브 여부(기본값 off)
      추가요소 - 트랜스폼, 결합, 스케일, 가이드

    • PyGWalker
      Kanaries에서 개발한 태블로 스타일의 파이썬 패키지
      Pandas/Polars/Modin 데이터 프레임을 지원
      Python 코드 없이 데이터 시각화 가능
      바, 박스, 라인, 산점도와 같이 기본적인 시각화 가능
      data load 후 드래그 앤 드랍으로 간단하게 EDA 가능
      Streamlit 웹 프레임워크와 호환성이 좋음

    • plotly
      약 40가지의 차트가 내장되어 있는 라이브러리
      다양한 소프트웨어와 호환성이 좋다는 특징이 있음
      인터렉티브 그래프 지원

  1. Matplotlib
  • 설치 방법 : pip install matplotlib
  • python 시각화 라이브러리 중 가장 많은 기능을 지원하는 라이브러리
  • 주요 지원 옵션
    • 타이틀 & font 설정 : plt.title('그래프제목', fontsize=20)
    • 축 이름 지정 : plt.xlabel('X축', fontsize=20), plt.ylabel('Y축', fontsize=20)
    • 눈금레이블 회전 : plt.xticks(rotation=90), plt.yticks(rotation=30)
    • grid 옵션 추가 : plt.grid()
    • 그래프 색상 변경 : plt.bar(x, y, width=0.7, color="blue")
    • x,y 축 구간 지정 : plt.xlim(2,3), plt.ylim(5,20)
    • 그래프 구역 설정 : fig,ax=plt.subplots(2,2)

2. seaborn

  • 설치 방법 : pip install seaborn
  • Matplotlib을 기반으로 다양한 색상 테마와 통계용 차트 등의 기능을 추가한 시각화 패키지
  • 지원 그래프들(전체 중 일부)
    • distplot
      분포 그래프로, 평균, 중위수, 범위, 분산, 편차 등을 이해할 수 있음
      범위에 포함화는 관측수를 세어 표시
    • countplot
      범주형 변수의 발생 횟수를 세어주는 그래프
      해당 그래프를 사용하면, Group by 연산이 필요하지 않음
    • boxplot
      최대, 최소, 평균, 사분위수를 확인할 수 있음
      지난시간에 배운 IQR 방식을 그리면 box plot
    • jointplot
      두 변수에 대한 displot의 조합
      두 변수에 분포에 대한 분석이 가능함
    • kdeplot
      하나 혹은 두 개의 변수에 대한 밀도 기반 분포그래프
    • violinplot
      box plot에서 분포에 대한 정보가 추가된 형태
    • Heat Map
      일반적으로 연속형 변수의 상관관계를 파악하기 위한 그래프 (pearson)
      (범주형도 가능하나 자주 사용하지 않습니다. -Cramer's V)

3. Altair

  • 설치 방법 : pip install altair
  • 다른 라이브러리와 다르게, 문법적인 요소가 강한 라이브러리
  • Altair 라이브러리는 Python 3.6 이상을 지원
  • 동적(움직이는) 그래프의 구현가능
  • 주요 문법
    • 데이터 : Pandas Dataframe 지정
    • 마크 : Plot 종류 지정
    • 인코딩 : x축, y축 등 변수 지정
    • 인터렉티브(옵션) : 인터렉티브 설정 여부(명시해주지 않으면 off상태입니다.)
    • 트랜스폼 (옵션) : 데이터 전처리 여부 지정
    • 결합(옵션) : 여러 차트의 결합여부 지정(예제에서 함께 살펴보겠습니다.)
    • 스케일 & 가이드 (옵션) : x,y 축 범위, 범례 지정

03. 그 외 꿀팁을 살펴보기

1. pygWalker - 편리한 EDA

  • 설치방법 : pip install pygwalker
  • 간단한 설치만으로도 EDA가 가능
  • 태블로의 간단한 기능 사용 가능

0개의 댓글