예제로 익히는 Python - 6

김주호·2024년 11월 5일

01. 기본 그래프 그리기

💡 **plot.bar()를 붙여봅시다!**
  • ☑️ intro. 오늘 그릴 그래프를 한눈에 봅시다!

  • ☑️ 데이터분석가에게 시각화란?
    • 데이터 분석 결과를 시각적으로 표현하고 의사소통 하는것 입니다. 💗
    • 데이터를 한 눈에 이해할 수 있도록 표나 차트로 정리하는 작업을 의미해요.
    • 최근부터 데이터 시각화는 ‘도구’가 아닌 ‘전략’으로 인식되고 있어요.
    • 데이터 내 이상치, 패턴 등 주요 정보를 신속하고 용이하게 발견할 수 있습니다.
    • 관련 부서에 자료를 공유할 때 텍스트로 전달하는 것보다 사용자의 흥미 유발이 가능합니다.
    • 데이터분석가의 중요한 역량 중 한 부문입니다.
  • ☑️ python은 바로 그래프를 그릴 수 있어요!
    • 1강에서 잠시 설명드렸지만, python 은 SQL 과 다르게 ‘라이브러리’ 의 개념이 있습니다.
    • 즉, 원하는 데이터를 추출한 뒤 바로 시각화를 진행해 볼 수 있어요. 😇
    • 유용한 시각화 라이브러리는 아래와 같습니다.
      라이브러리특징
      MatplotlibPython에서 가장 많이 쓰는 라이브러리
      라인, 바, 산점도, 히스토그램, 파이 차트 등 지원
      제목, 레이블, 색상 지원
      그래프를 PNG, PDF, SVG 등의 형식으로 저장 지원 |
      | seaborn | matplotlib 기반의 시각화 라이브러리
      통계 그래픽을 그리기 위한 고급 인터페이스를 제공
      라인, 바, 산점도, 히스토그램, 박스, 커널 밀도, 조인트, 관계, 히트맵 등 지원 |
      | Altair | Python에서 사용되는 선언적인 통계 데이터 시각화 라이브러리
      문법이 간단하다는 특징을 가지고 있음
      인터렉티브 그래프 지원 필수요소 - 데이터, 마크, 인코딩, 인터렉티브 여부(기본값 off)
      추가요소 - 트랜스폼, 결합, 스케일, 가이드 |
      | PyGWalker | Kanaries에서 개발한 태블로 스타일의 파이썬 패키지
      Pandas/Polars/Modin 데이터 프레임을 지원
      Python 코드 없이 데이터 시각화 가능 바, 박스, 라인, 산점도와 같이 기본적인 시각화 가능
      data load 후 드래그 앤 드랍으로 간단하게 EDA 가능
      Streamlit 웹 프레임워크와 호환성이 좋음 |
      | plotly | 약 40가지의 차트가 내장되어 있는 라이브러리
      다양한 소프트웨어와 호환성이 좋다는 특징이 있음
      인터렉티브 그래프 지원 |
    • 기본 내장함수를 이용한 그래프를 그려보겠습니다.
    • group by 연산 이후 .plot 을 통해, 간단히 그래프가 구현되었습니다.
     **# 기본 그래프 그리기** 
     df2.groupby('Gender')['Customer ID'].count().plot.bar()
     **# 컬러 지정**
     df2.groupby('Gender')['Customer ID'].count().plot.bar(color=['yellow','purple'])
     ```

02. 다양한 그래프 그리기

💡 **시각화의 세계로 빠져봅시다!**
  • ☑️ Matplotlib의 다양한 옵션을 살펴봅시다!
    • 설치: pip install matplotlib
    • python 시각화 라이브러리 중 가장 많은 기능을 지원하는 라이브러리 입니다.
    • 다른 라이브러리 개발에 토대가 된 라이브러리라고 이해해 주시면 좋겠습니다.
- **주요 지원 옵션은 아래와 같아요.**
    
    

  • ☑️ seaborn 도 함께 보겠습니다.
    • 설치: pip install seaborn
    • seaborn은 Matplotlib을 기반으로 다양한 색상 테마와 통계용 차트 등의 기능을 추가한 시각화 패키지입니다.
    • 따라서, 기본적인 핸들링은 matplotlib 를 통해 설정 가능합니다.
    • 막대, 라인, 파이차트 외 아래와 같은 그래프를 지원합니다. (전체 중 일부)
      PLOT 종류활용 예
      distplot분포 그래프로, 평균, 중위수, 범위, 분산, 편차 등을 이해할 수 있음
      범위에 포함화는 관측수를 세어 표시
      countplot범주형 변수의 발생 횟수를 세어주는 그래프
      해당 그래프를 사용하면, Group by 연산이 필요하지 않음
      boxplot최대, 최소, 평균, 사분위수를 확인할 수 있음
      지난시간에 배운 IQR 방식을 그리면 box plot
      jointplot두 변수에 대한 displot의 조합
      두 변수에 분포에 대한 분석이 가능함
      kdeplot하나 혹은 두 개의 변수에 대한 밀도 기반 분포그래프
      violinplotbox plot에서 분포에 대한 정보가 추가된 형태
      Heat Map일반적으로 연속형 변수의 상관관계를 파악하기 위한 그래프 (pearson)
      (범주형도 가능하나 자주 사용하지 않습니다. -Cramer's V)
  • ☑️ Altair - 인터렉티브(동적) 그래프 그리기
    • 설치: pip install altair
    • Altair 는 다른 라이브러리와 다르게, 문법적인 요소가 강한 라이브러리입니다.
    • 지원되는 함수에 따라 값을 넣어주면 → 그래프가 도출되는 형식으로 작동합니다.
    • Altair 라이브러리는 Python 3.6 이상을 지원합니다.
    • 무엇보다, Altair 라이브러리를 통한 시각화의 장점은, 동적(움직이는) 그래프의 구현입니다.
    • 현업에서 자주 사용하는 라이브러리는 아니나, 익혀두시면 ++ 가 되겠습니다.
    • 주요 문법은 아래와 같습니다.
      요인설명
      데이터Pandas Dataframe 지정
      마크Plot 종류 지정
      인코딩x축, y축 등 변수 지정
      인터렉티브(옵션)인터렉티브 설정 여부(명시해주지 않으면 off상태입니다.)
      트랜스폼 (옵션)데이터 전처리 여부 지정
      결합(옵션)여러 차트의 결합여부 지정(예제에서 함께 살펴보겠습니다.)
      스케일 & 가이드 (옵션)x,y 축 범위, 범례 지정

03. 그 외 꿀팁을 살펴봅시다!

💡 **pyg Walker 를 통해 드래그 앤 드랍으로!**
  • ☑️ pygWalker - 편리한 EDA
    • 설치: pip install pygwalker
    • 간단한 설치만으로도 EDA가 가능합니다.
    • 또한, 간편하게 그린 그래프를 PNG FILE 로 내보내기가 가능해요!

0개의 댓글