grep

Engineering

VSCode의 Jupyter Extension을 사용하여 간단하게 Python으로 데이터 시각화하기

NHN

2021년 7월 2일

원문에서 보기 ↗

VSCode의 Jupyter Extension을 사용하여 간단하게 Python으로 데이터 시각화하기

안녕하세요, 모델연구팀 김세회입니다.

기존에는 Python으로 데이터 분석을 할 경우 로컬이나 서버에 Jupyter Notebook을 설치하여 작업을 했습니다.

하지만 이번에 팀 내 스터디를 진행하면서 VSCode로 Jupyter Extension을 설치해서 사용해보았던 경험을 정리하여 공유하고자 합니다.

비록 Jupyter Notebook의 다양한 plugin 같은 기능은 지원하지 않지만, 간단하게 로컬에서 VSCode 내 Jupyter Extension으로 코드를 작성하고 바로 실행해 볼 수 있습니다.

여기서는 붓꽃 예제 데이터를 이용해서 Pandas로 데이터를 로딩하고 간단한 통계를 확인한 후 Seaborn으로 시각화해보도록 하겠습니다.

준비하기

Python 설치

VSCode 설치

Jupyter Extension 설치

예제 데이터 CSV 파일 다운로드

컬럼명설명
Id일련번호
SepalLengthCm꽃받침의 길이
SepalWidthCm꽃받침의 너비
PetalLengthCm꽃잎의 길이
PetalWidthCm꽃잎의 너비
Species붓꽃 종류 setosa, versicolor, virginica

Jupyter Notebook 간단 사용법

Jupyter Notebook 새로 만들기

코드 작성 후 실행

데이터 로딩하고 살펴보기

데이터 로딩

import pandas as pd

df = pd.read_csv("Iris.csv", delimiter=",", index_col="Id", header=0)

# 또는 아래와 같이 names에 컬럼명을 넘겨주면 명시적으로 컬럼명을 지정할 수도 있습니다.
col_names = ["Id", "SepalLengthCm", "SepalWidthCm", "PetalLengthCm", "PetalWidthCm", "Species"]
df = pd.read_csv("Iris.csv", delimiter=",", names=col_names, index_col=0, header=None)
df.head()

2.png

데이터셋 크기, 칼럼, 데이터 타입 살펴보기

Pandas로 데이터 통계내기

칼럼 별 통계 확인하기

Seaborn으로 시각화하기

분포도

import matplotlib
import matplotlib.pyplot as plt
import seaborn as sns

# 스타일 지정
# white, dark, whitegrid, darkgrid 등이 있음
sns.set_style("darkgrid")

# boxplot 실행
ax = sns.boxplot(data=df, orient="h", palette="Set2")

5.png

ax = sns.boxplot(x="Species", y="SepalLengthCm", data=df)

6.png

산점도

ax = sns.scatterplot(data=df, x="SepalLengthCm", y="SepalWidthCm", hue="Species")

7.png

ax = sns.scatterplot(data=df, x="PetalLengthCm", y="PetalWidthCm", hue="Species")

8.png

다중 차트

# PairGrid 실행
# diag_sharey: y축을 공유하지 않음
g = sns.PairGrid(df, hue="Species", diag_sharey=False)

# 대각선 위쪽 차트는 kdeplot으로 함
g.map_upper(sns.kdeplot)

# 대각선 차트 유형은 히스토그램으로 함
g.map_diag(plt.hist)

# 대각선 아래쪽 차트 유형은 산점도로 함.
g.map_lower(sns.scatterplot)

# 범례를 추가
g.add_legend()

9.png

마치며

간단하게 VSCode의 Jupyter Extension을 사용하여 Python으로 데이터 통계 및 시각화하는 방법을 살펴보았습니다.

간단하지만 응용만 잘한다면 실무에 있어서 데이터를 기반으로 한 의사결정이나 모델링을 하기 위한 근거로도 사용할 수 있을 것 같습니다.

부족한 글이지만 끝까지 읽어주셔서 감사합니다.