데이터 시각화(Visualization) 는 데이터 분석 결과를 쉽게 이해할 수 있도록,
차트, 그래프, 맵 같은 요소를 사용해 시각적으로 표현하는 프로세스이다.
파이썬에서 많이 쓰이는 matplotlib과 seaborn 라이브러리를 활용한, 간단한 데이터 시각화에 대해 알아보자.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sb
%matplotlib inline
# 도표, 그림, 소리 같은 결과물들을 코드를 실행한 브라우저에서 바로 볼 수 있게 해주는 코드
plot
가장 기본적인 그래프
그래프들을 출력할땐 코드 마지막에 plt.show() 를 입력해야한다.
x = np.arange(0, 9+1)
y = x * 3
plt.plot(x, y)
plt.show()
countplot
특정 컬럼이 카테고리컬 데이터일 때,
각 value 별로 몇개씩이 있는지를 그래프로 나타내고 싶으면
seaborn의 countplot 함수를 사용할 수 있다.
df = pd.read_csv('../data/pokemon.csv')
df
# 카테고리컬 데이터인 generation_id 확인
df['generation_id'].nunique()
>>> 7
df['generation_id'].unique()
>>> array([1, 2, 3, 4, 5, 6, 7], dtype=int64)
df['generation_id'].value_counts()
>>> 5 156
1 151
3 135
4 107
2 100
7 86
6 72
Name: generation_id, dtype: int64
# countplot 사용
sb.countplot(data= df, x= 'generation_id')
plt.show()
- 색 바꾸기
sb.color_palette()
sb.color_palette() 는 이런 색상들을 가지고 있는데 인덱스로 접근해서 색을 가져올 수 있다.
base_color = sb.color_palette()[2]
- 정렬하기
df['generation_id'].value_counts().index
>>> Int64Index([5, 1, 3, 4, 2, 7, 6], dtype='int64')
base_order = df['generation_id'].value_counts().index
저장한 색과 정렬기준을 각각 color , order 파라미터에 전해준다.
sb.countplot(data= df, x= 'generation_id', color= base_color, order=base_order)
plt.show()
Pie 차트
데이터를 퍼센테이지로 비교해서 보고 싶을 때 사용한다.
# generation_id 별로 데이터의 갯수를 퍼센테이지로 비교할 수 있도록, 파이차트로 나타내보자
# df로는 파이차트를 바로 그릴수가 없다.
# 따라서, generation_id별로 데이터가 몇개인지 먼저 구해놓는다.
df2 = df['generation_id'].value_counts()
plt.pie(df2)
plt.show()
plt.pie(df2,
labels= df2.index, # labels
autopct= '%.1f', # 소수점 표시
startangle= 90, # 시작각도
wedgeprops= {'width' : 0.7}) # 부채꼴영역 스타일 설정
plt.title('Generation ID Pie Chart') # 제목
plt.legend() # 범례
plt.show()
'Python > Pandas' 카테고리의 다른 글
matplotlib, seaborn 을 활용한 데이터 시각화(3) - scatter, regplot, pairplot, 상관계수 (0) | 2022.11.30 |
---|---|
matplotlib, seaborn 을 활용한 데이터 시각화(2) - hist, subplot (0) | 2022.11.30 |
Python 비트연산자 ~ 의 활용 (0) | 2022.11.29 |
Pandas 활용(10) - 데이터프레임 합치기(concat, merge) (0) | 2022.11.28 |
Pandas 활용(9) - 데이터프레임 정렬하기 sort_values, sort_index (0) | 2022.11.28 |