시각화 01
목차
1. 그래프 그릴 때 한글 깨지는 현상 해결하기
2. Plot 그래프
2-1) line
2-2) bar
2-3) 히스토그램
3. 커널밀도 그래프, hexbin
3-1) 커널밀도그래프
3-2) hexbin(고밀도 산점도)
4. box plot
5.
6. scatter plot
이렇게 범주부분에서 한글이 깨지는 모습을 볼 수 있다.
STEP 1. 아래 코드를 실행
STEP 5. 그래프 사이즈 키우는 옵션
plt.rcParams["figure.figsize"] = (12, 9) 또는 plt.figure(figsize=[12,9])
2. Plot 그래프
df['분양가'].plot()
> kind 옵션을 통해 원하는 그래프 그리기 가능
2-1) line (default)
데이터가 연속적일 때 유용함 (ex. 주가데이터)
df['분양가'].plot(kind='line')
ex)
df_seoul = (df.loc[df['분양가'] == '서울')
df_seoul_year = df_seoul.groupby('연도').mean()
df_seoul_year.plot(kind='line')
연도는 필요없으니
df_seoul['분양가'].plot(kind='line') 하면 더 직관적 확인 가능!
2-2) bar
그룹별로 비교할 때 유용하다
ex. 지역별 분양가 비교
df.groupby('지역')['분양가'].mean().plot(kind='bar') / df.groupby('지역')['분양가'].mean().plot(kind='barh')
2-3) 히스토그램(hist)
히스토그램은 분포・빈도를 시각화하여 보여줍니다
x축에는 분포(범위), y축에는 빈도가 있다.
df['분양가'].plot(kind='hist')
3. 커널밀도그래프와 hexbin
3-1) 커널밀도그래프: kde
히스토그램과 유사하게 밀도를 보여주는 그래프, 부드러운 라인을 갖고 있음
밀도를 보여주는데 선으로 보여준다고 생각하면 될 듯
df['분양가'].plot(kind='kde')
3-2) hexbin: 고밀도 산점도 그래프
x와 y 키 값을 넣어주어야 함
x와 y 모두 numeric한 값을 넣어주어야한다. 데이터의 밀도를 추정함
(육각형 모양으로 나와서 헥스, 어디에 집중적으로 분포해있는지 설명해주기 때문에 고밀도 산점도라고 표현함)
df.plot(kind='hexbin', x='분양가', y='연도', gridsize=20)
>> gridsize 안주면 좀 작게보임..
4. box plot
박스플롯은 데이터 outlier를 감지할 때 가장 많이 활용되며, 25%, median, 75% 분위 값을 활용하는 용도로 많이 활용된다.
df_seoul = df.loc[df['지역'] == '서울'] #조건주기
df_seoul['분양가'].plot(kind='box') #지역이 서울인 데이터 중 분양가 값만 box형태로 그래프그리기
중앙의 선(median), 중앙값
박스 윗부분 3사분위, 박스 아랫부분 1사분위
IQR = (3사분위 - 1사분위)*1.5
box plot의 최대값: 3사분위 + IQR
box plot의 최소값: 1사분위 - IQR