250x250
반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Airflow
- grad-cam
- XAI
- integrated gradient
- airflow subdag
- GenericGBQException
- correlation
- GCP
- BigQuery
- 상관관계
- TensorFlow
- top_k
- gather_nd
- flask
- youtube data
- API
- requests
- Retry
- subdag
- UDF
- 공분산
- login crawling
- 유튜브 API
- chatGPT
- Counterfactual Explanations
- spark udf
- hadoop
- tensorflow text
- API Gateway
- session 유지
Archives
- Today
- Total
데이터과학 삼학년
Ipywidgets을 활용한 시각화 (feat. jupyter notebook) 본문
반응형
데이터 분석을 할 때 시각화는 필수이다.
시각화를 위한 툴은 많고...그 많은 툴들을 효과적으로 사용하기 위해 ipython을 활용하는 방법을 소개하려 한다.
만약 시각화하여 확인해 보아야할 feature가 200개, 10000개가 넘어간다면....
figure를 for문을 돌며 200개, 10000개를 다 그려 보는 것은 불필요하며 보기도 어려울 것이다.
이를 해결하기 위해 jupyter notebook 내에 ipytwidgets을 활용하면 라디오 버튼이나 필터링 버튼으로 깔끔하게 확인할 수 있다.
백마디말보다 코드로...
import pandas as pd
from ipywidgets import *
import seaborn as sns
df = pd.DataFrame({'kim':[1,2,3,4,5,6,7,16,26],
'lee':[11,12,31,14,51,16,71,100,180],
'park' : [121,142,311,124,531,156,761,170,180]})
def box_plot(feature):
temp = df[str(feature)]
sns.boxplot(temp.values)
interact(box_plot,feature= list(df))
box plot을 먼저 그려보면!!!
나는 column별로 boxplot을 확인할 수 있다!!!
만약 두개의 상관관계를 본다면 feature 두개를 받을 수 있다.
feature1에서 kim, lee, park 중 kim을 선택했다면
feature2에서는 lee, park 이 나오게 필터를 만들어주면 된다.
코드는 아래와 같다!!!
def show_joint_plot(data=None):
try:
feature_1 = Dropdown(options = list(data.columns.to_list()))
feature_2 = Dropdown()
def update(*args):
temp_lst = data.columns.to_list()
temp_lst.remove(feature_1.value)
feature_2.options = temp_lst
feature_2.observe(update)
def joint_plot(feature_1 = feature_1, feature_2 = feature_2):
sns.set(style="white", color_codes = True)
g = sns.jointplot(x = feature_1, y= feature_2, data= df, color ='b',size = 7)
interact(joint_plot,feature_1 = feature_1, feature_2 = feature_2)
except (IndexError,TraitError):
pass
show_joint_plot(df)
이런 결과를 얻게 된다.
ipython widget을 활용하면 아무리 많은 data 라도 깔끔하게 figure를 만들어서 볼 수 있다!
유용한 기술...모두 참고하시고..더 자세한 사항은 ipywidget에 들어가서 확인 고고!
728x90
반응형
LIST
'Data Visualization & DataBase' 카테고리의 다른 글
Folium 지리 정보 시각화 tool (0) | 2020.06.17 |
---|---|
시계열 데이터 시각화 using plotly (0) | 2020.06.05 |
Plotly 시각화 툴 (0) | 2020.05.21 |
Bokeh interactive legend (0) | 2020.02.14 |
Bokeh - Web visualization (0) | 2020.01.17 |
Comments