개발은 처음이라 개발새발

산점도 그래프 그리기 [python/seaborn] 본문

파이썬/판다스

산점도 그래프 그리기 [python/seaborn]

leon_choi 2022. 7. 24. 15:51
반응형

이번 시간에는 isull(), dropna()매소드를 활용해 결측치 데이터를 제거한 타이타닉 데이터를 가지고 그래프를 그려보도록 하겠습니다.

https://data-so-hard.tistory.com/31

 

isnull(), notnull() 누락 데이터 확인 [python/seaborn]

엑셀을 가지고 데이터를 다룰 때 가장 불편한 점이 있다면 데이터의 누락과 오류 같은 문제들을 바로 찾기가 쉽지 않다는 점입니다. 이번 시간에는 파이썬을 통해 누락 데이터에 대해 알아보는

data-so-hard.tistory.com

https://data-so-hard.tistory.com/32

 

dropna() 파이썬 누락 데이터 제거 [python/seaborn]

https://data-so-hard.tistory.com/31 isnull(), notnull() 누락 데이터 확인 [python/seaborn] 엑셀을 가지고 데이터를 다룰 때 가장 불편한 점이 있다면 데이터의 누락과 오류 같은 문제들을 바로 찾기가 쉽지..

data-so-hard.tistory.com

결측치를 제거한 데이터를 가지고 그려볼 그래프는 범주형 데이터의 산점도입니다. 범주형 데이터의 산점도는 범주형 변수에 들어 있는 각 범주별 데이터의 분포를 확인하는 방법입니다. 그 종류는 두 가지가 있는데 하나는 stripplot(), 또 하나는 swarmplot() 함수입니다. 여기서 swarmplot 함수는 데이터가 퍼져있는 정도까지 나타내기 때문에 좀 더 입체적인 그래플 볼 수 있습니다. 그렇다면 바로 코드를 작성해보겠습니다. 

 

import seaborn as sns
import matplotlib.pyplot as plt

df= sns.load_dataset('titanic')

#누락 데이터 확인
print(df.isnull())

#누락 데이터 개수 확인
print(df.isnull().sum(axis=0))

#deck 컬럼 제거하기
df_thresh = df.dropna(axis = 1, thresh = 500)

#age 컬럼 데이터가 nan인 행 모두 제거
df_age = df_thresh.dropna(subset = ['age'], how = 'any', axis = 0)

#스타일 테마 설정하기(5가지: darkgrid, whtiegrid, dark, white, ticks)
sns.set_style('whitegrid')

#그래프 객체 생성 (figure에 2개의 서블 플롯 생성)
fig =plt.figure(figsize =(15,5))
ax1 = fig.add_subplot(1,2,1)
ax2 = fig.add_subplot(1,2,2)

#이산형 변수의 분포 - 데이터 분산 미고려
sns.stripplot(x='class', y= 'age', data=df_age, ax=ax1)

#이산형 변수의 분포 - 데이터 분산 고려
sns.swarmplot(x='class',y='age', data = df_age, ax=ax2)

#차트 제목 표시
ax1.set_title("strip plot")
ax2.set_title('swarm plot')

plt.show()

네 이렇게 범주형 데이터 산점도 두 가지 그래프를 그려봤습니다. 다음 시간에는 다양한 그래프에 대해 좀 더 알아보도록 하겠습니다.

반응형