본문 바로가기
데이터 분석 관련

[패스트캠퍼스] 데이터분석 강의 학습일지(5)

by 달빛 정원 2023. 5. 5.
반응형

데이터 분석은 시각화하는 게 매우 중요합니다. 이번 파트에서는 데이터를 시각화하여 표현하는 방법들을 배웠습니다. 본 내용은 국비지원 빅데이터분석 첫걸음 강의를 듣고 배운 내용을 정리한 것입니다.

2023.05.03 - [데이터 분석 관련] - [패스트캠퍼스] 데이터분석 강의 학습일지 (4)

데이터 시각화

데이터 시각화를 파이썬에서 보니 엄청나게 많은 기능들이 있었습니다. 본 강의에서는 pyplot, seaborn에 대한 기초를 익혔습니다.

Matplolib.Pyplot 기초

데이터 분석에서 시각화는 매우 중요하며 그중에 가장 많이 활용되는 matplotlib에 대하여 공부합니다. 이것을 통해 다양한 그래프를 그릴 수 있습니다. 다음과 같은 여러 가지 그래프를 그려보았습니다. 

파이썬은 대용량 데이터라도 매우 빠르게 그래프를 그려주는 게 매력인것 같습니다. figure 사이즈 조정, 폰트 사이즈 조정, 컬러 변경, 그래프 두께 변경 등 다양한 옵션들이 많은 것을 확인했습니다.

# 막대 그래프 그리기
plt.figure(figsize=(8,5))
plt.grid(alpha=0.3, color="green", linewidth=0.5)
plt.title("Sales in March", fontsize=14, loc="left")
plt.xlabel("Menu", fontsize=8)
plt.ylabel("Sales", fontsize=8)
plt.bar(x, y, color = "lightcoral", label="Sales")
plt.plot([100, 200, 400, 800, 1600], label = "Average")
plt.legend(loc="best")
plt.ylim(0, 2000)
plt.yticks([num for num in range(0,2100, 500)])
plt.show()

파이썬으로 그린 그래프 예

이와 같이 scatter plot도 그릴 수 있고, 한 화면에 여러 그래프를 그리는 것도 가능합니다 (subplot 기능). 

# scatterplot
import numpy as np

x = np.random.random(500)
y = np.random.random(500)

plt.figure(figsize=(3,3))
plt.scatter(x,y, color = "orange", marker = "x", s=15, alpha=0.3)
plt.show()


# subplot()을 이용하여 여러개의 plot을 하나의 figure에 출력할 수 있음

# plt.subplot(nrows, ncols, index)
# nrows와 ncols가 있다고 했을 때의 위치!

plt.figure(figsize=(6,8))
# plt.subplot(2,2,1)
# plt.subplot(2,2,2)
# #plt.subplot(2,2,3)
# plt.subplot(2,2,4)

plt.subplot(1,2,1)
plt.plot([1, 2, 4, 8, 16])
plt.subplot(3,2,2)
plt.bar([1, 2, 3, 4, 5],[4,3,2,3,4])
plt.subplot(3,2,4)
plt.scatter([1,2,3,4,5,6,7],[7,6,5,4,3,2,1])
plt.subplot(3,2,6)
plt.plot([1,3,5,7,9])
plt.show()

subplot을 활용한 데이터 시각화

Seaborn 기초

seaborn도 여러가지 시각화 기법들을 제공하며 pandas와 매우 호환이 잘 된다고 합니다. histplot, barplot, jointplot, lineplot등 많은 그래프를 제공합니다. 다음과 같이 데이터를 불러와서 시각화 실습을 수행하였습니다.

# 라이브러리와 데이터를 불러오고, 시각화를 위한 세팅을 합니다.
import seaborn as sns
import matplotlib.pyplot as plt
#import numpy as np
#import pandas as pd

data = sns.load_dataset("penguins")
data = data.dropna() # 결측값 제거
data

히스토그램을 첫번째로 배우게 됩니다. 히스토그램은 가장 기본적으로 기초통계량 분석에 활용됩니다. 특정 구간별로 분포를 손쉽게 알 수 있습니다. 히스토그램을 그릴때 hue를 이용해 데이터를 추가로 구분가능한데, 겹쳐있을 수 있기 때문에 multiple='stack'을 활용하여 쌓일 수 있도록 해야 한다고 합니다. displot은 distribution의 약자입니다. 히스토그램보다는 곡선형태로 출력됩니다. 

countplot이라는 것은 범주형 데이터가 있을 경우 데이터들의 히스토그램을 보여줍니다. 종류별 count를 보여주기 때문에 앞으로 많이 활용할 기능인 듯 합니다.

boxplot도 통계분석에서 많이 활용됩니다. 데이터들의 사분위수를 파악하기 용이하고 outlier를 빠르게 찾아낼 수 있습니다.

 

 

반응형

댓글