본문 바로가기

study

Interactive Widget 활용한 시각화

Reference - https://towardsdatascience.com/interactive-controls-for-jupyter-notebooks-f5c94829aee6

 

Interactive Controls for Jupyter Notebooks

How to use IPywidgets to enhance your data exploration and analysis

towardsdatascience.com

Data 출처
JTBC 유투브 채널 / 2020.05.10 16:52:08 / 88개의 영상정보(최신순)

 

1. Data load

데이터 수집 및 전처리 과정은 생략한다. 데이터는 아래 깃허브 주소를 참고하면 된다.

jtbc = pd.read_csv("C:/Users/kjh96/Github/crawling_JTBC.csv", encoding="CP949", header=None)

구글 GCP에서 유투브API를 활용하여 크롤링한 데이터

 

2. 시각화

위젯을 사용하기 위한 패키지를 불러온다.

import ipywidgets as widgets
from ipywidgets import interact, interact_manual

import numpy as np
import pandas as pd
import scipy

# import plotly.plotly as py
import plotly.graph_objs as go
from plotly.offline import iplot, init_notebook_mode
init_notebook_mode(connected=True)

import cufflinks as cf
cf.go_offline(connected=True)
cf.set_config_file(colorscale='plotly', world_readable=True)

# Extra options
pd.options.display.max_rows = 30
pd.options.display.max_columns = 25

# Show all code cells outputs
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = 'all'

# Online features (plotly.plotly) moved to chart-studio package
import chart_studio.plotly as py

import os
from IPython.display import Image, display, HTML

 

2.1. 바를 활용하여 특정 조회수를 넘는 영상만 추출

 

2.2. 변수가 숫자형일 경우, 두 변수간 상관도 측정

 

2.3. 그래프 시각화(산점도)

 

2.4. 그 외 시각화

그 외에도 클릭 몇번으로 다양한 시각화를 구현할 수 있다.

좌 - 산점도에 hue값을 추가했을때, 우 - 상관도를 시각화했을 경우

 

3. 결론

데이터를 직관적으로 이해하기 위해 시각화를 자주 한다. 어떨 때는 같은 그래프에 변수만 조정하여 훑어보고 싶을 때가 있다. 그럴 때 활용하면 좋을 듯하다. 다만 변수가 다양하고 숫자형일때. 그렇지 않으면 위젯을 만드는 수고로움이 더 든다.