1주차에서는 환경 설정,
2주차에서는 기본 코딩,
3주차에서는 numpy,
4주차는 드디어 데이터를 시각화하는 seaborn에 대해 배웠다.
역시.. 날이 갈수록 난이도는 높아져만 간다 ㅠㅠ
3주차에서 pandas를 배우며 데이터프레임을 만드는 방법을 배웠고,
데이터프레임을 바탕으로 seaborn을 통해 다양한 plot을 이용 데이터를 시각화 해보았다.
우선, seaborn이란?
파이썬으로 활용할 수 있는 데이터 시각화 라이브러리이다.
가장 대표적인 라이브러리가 matplotlib라면, seaborn은 matplotlib에 기본을 두고 있으면서도 활용이 쉽고 시각적으로 더 예쁘게 데이터를 가공할 수 있다.(matplotlib에 비해 그릴 수 있는 그래프 종류가 적다고는 하지만, 초보자인 나에게는 전혀 문제가 안되고, 쉽고 예쁘다는 부분에서 훨씬 활용도가 높을 것이라 생각한다.)
아 그리고, pandas dataframe과 호환이 잘 된다는 것도 큰 장점이다.
강사님이 설명해준 seaborn 활용법으로 가장 강조하신 부분은
seaborn을 활용해서 어떻게 데이터를 그릴 수 있는지 찾아보라는 것이었다.
아래는 seaborn에서 제공하는 그래프 종류를 보여주는 사이트 화면!
이렇게 다양한 데이터 그래프를 그릴 수 있는데,
내가 가지고 있는 데이터를 어떤 그래프로 그렸을 때 용이하게 정보를 나타낼 수 있는지 고민하고, 어떤 모양의 데이터가 있는지 살펴보면서 공부하는 것이 큰 도움이 된다고 한다!
(하지만 아직 그래프만 봐도 눈이 돌아간다 ..ㄷㄷ)
오늘은 학습했던 대표적인 그래프 몇개만 정리해보고자 한다!
import seaborn as sns
sns.set_theme(style='whitegrid')
penguins = sns.load_dataset("penguins")
penguins
라이브러리를 설치하고,
대표적인 penguins 데이터프레임을 불러왔다.
sns.histplot(data=penguins, x="flipper_length_mm", hue="species", multiple = 'stack')
괄호 안의 x, y는 x, y축을 의미하며
hue는 색깔 구분 하는 기준데이터를 의미하고
multiple은 정보가 위로 겹쳐져서 나오게끔 stack 값을 매겨 준 것이다.
sns.barplot(data=penguins, x="flipper_length_mm", y="species", hue='species')
자동으로 평균 값을 구해서 막대그래프가 그려진다.
여기서 x, y 값을 바꾸면 아래처럼 세로그래프가 된다.
sns.barplot(data=penguins, x="species", y="body_mass_g", hue='species')
sns.countplot(data=penguins, x='species', hue='sex')
sns.boxplot(data=penguins, x="flipper_length_mm", y="species", hue="species")
sns.violinplot(data=penguins, y='flipper_length_mm', x='species', hue='species')
sns.lineplot(data=penguins, x="body_mass_g", y="flipper_length_mm", hue="species")
sns.pointplot(data=penguins, y="flipper_length_mm", x="sex", hue="species")
sns.scatterplot(data=penguins, x="body_mass_g", y="flipper_length_mm", hue="species")
sns.pairplot(data=penguins, hue="species")
내가 활용한 데이터프레임에는 4개의 feature가 있었기 때문에 총 16개 그래프가 나왔다.
corr = penguins.corr()
sns.heatmap(data=corr)
pandas의 corr 함수를 이용해 상관계수로 만든다음 그래프를 그렸다.
음으로 갈수록 부의 관계(반비례), 양으로 커질 수록 정의 관계(정비례)로 파악해볼 수 있다.
다양한 그래프를 배웠는데, 첫번째 histplot과 마지막 heatmap이 가장 어렵고 이해가 안되었다. 다음 수업부터는 실제 데이터 분석인데, 다양한 데이터로 시각화해보면서 연습해보아야 할 것 같다 :)