Pandas는 plot이라는 시각화 메서드를 내장하고 있습니다.
plot의 kind 속성을 이용하면 다양한 형태의 그래프를 나타낼 수 있는데
예제를 통해 정리해 보았습니다.
공공데이터 포탈에서 가져온 범죄관련 데이터입니다.
해당 데이터를 가지고 그래프 형태를 보겠습니다.
read_csv
1
2
3
4
5
|
import pandas as pd # 데이터를 저장하고 처리하는 패키지
# csv 파일을 읽어서 DataFrame 객체로 만듦 / 인덱스 컬은 0로 설정 / 인코딩은 cp949
df = pd.read_csv('C:/Desktop/Player/task/data/time.csv', encoding='cp949', index_col=0)
df # df 표시
|
cs |
기본적으로 Pandas에서 csv 파일을 불러오는 read_csv 메서드 호출하는 코드입니다.
Plot Method
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import matplotlib.pyplot as plt
plt.rcParams["font.family"] = "NanumGothic" #글꼴 정의
%matplotlib inline # 브라우저에서 바로 그림을 표출
import pandas as pd # 데이터를 저장하고 처리하는 패키지
import matplotlib as mpl # 그래프를 그리는 패키지
import matplotlib.pyplot as plt # 그래프를 그리는 패키지
# csv 파일을 읽어서 DataFrame 객체로 만듦 / 인덱스 컬은 0로 설정 / 인코딩은 cp949
df = pd.read_csv('C:/Users/KBS_PC/Desktop/Player/task/data/time.csv', encoding='euc-kr', index_col=0)
# plot method
ax = df.plot(kind='line', title='경찰청_범죄 발생 시간대별 데이터', figsize=(12, 4), legend=True, fontsize=12)
ax.set_xlabel('Time', fontsize=12) # x축 정보 표시
ax.set_ylabel('Type', fontsize=12) # y축 정보 표시
|
cs |
데이터 시각화를 표현하는 Plot 메서드입니다.
CSV파일을 담은 df 변수에 plot 메서드를 선언해주고 안에 속성을 채워주는 방식입니다.
여기서 데이터 차트를 정해주는 속성은 kind 속성으로 유형은 아래로 정의됩니다.
[ line / bar / barh / hist / box / density / area / pie / scatter / hexbin]
이 유형을 하나하나 정리해보겠습니다.
Pandas의 Plot 그래프 종류
line
Pandas Kind 속성의 line은 선 그래프입니다.
주로 선 그래프는 여러 속성에 대한 흐름을 파악하기 위해 주로 사용이 됩니다.
bar
Pandas Kind 속성의 bar은 막대 그래프입니다.
해당 시간 및 일자에 속성의 직접적인 값을 비교하기 좋은 그래프입니다.
barh
Pandas Kind 속성의 bath는 y측 막대 그래프입니다.
속성을 기준으로 시간에 흐름에 따라 최대값과 최소값을 파악하기 쉬운 그래프입니다.
hist
Pandas Kind 속성의 hist는 도수분포표를 그래프화한 것 입니다.
데이터의 분포를 그래프로 나타낸 것으로 값이 어떤 분포에 속하는지 나타내줍니다.
box
Pandas Kind 속성의 box는 도수분포표를 그래프화한 것 입니다.
hist와 마찬가지로 데이터의 분포를 나타내주며 각 데이터의 이상치들을 동시에 보여줄 수 있는 그래프입니다.
density
Pandas Kind 속성의 density는 밀도분포를 그래프화한 것 입니다.
데이터의 분포를 나타내며 범위에 대한 밀도가 그려지는 그래프입니다.
area
Pandas Kind 속성의 area는 영역차트를 그래프화한 것 입니다.
선 그래프의 아래에 영역이 채워진 형태로써 시간에 따라 측정값의 변화를 시각화한 그래프입니다.
pie
Pandas Kind 속성의 pie는 범주별 비율을 원형으로 그래프화한 것 입니다.
각 속성의 비율을 비례하여 표현하여 구분하기 쉽게 나타내어 줍니다.
scatter
Pandas Kind 속성의 scatter 는 산점도를 그래프화한 것 입니다.
연속된 속성간의 상관관계를 확인하기 용이하며 두 관계를 시각적으로 확인할 수 있습니다.
hexbin
Pandas Kind 속성의 hexbin 는 고밀도 산점도 그래프입니다.
육각형의 그리드 형태로 값을 반환하며 각각의 점을 산점도로 표현하여 시각화한 그래프입니다.
댓글