반응형
Notice
Recent Posts
Recent Comments
Link
개발은 처음이라 개발새발
산점도 그래프 그리기 [python/seaborn] 본문
반응형
이번 시간에는 isull(), dropna()매소드를 활용해 결측치 데이터를 제거한 타이타닉 데이터를 가지고 그래프를 그려보도록 하겠습니다.
https://data-so-hard.tistory.com/31
https://data-so-hard.tistory.com/32
결측치를 제거한 데이터를 가지고 그려볼 그래프는 범주형 데이터의 산점도입니다. 범주형 데이터의 산점도는 범주형 변수에 들어 있는 각 범주별 데이터의 분포를 확인하는 방법입니다. 그 종류는 두 가지가 있는데 하나는 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()
네 이렇게 범주형 데이터 산점도 두 가지 그래프를 그려봤습니다. 다음 시간에는 다양한 그래프에 대해 좀 더 알아보도록 하겠습니다.
반응형
'파이썬 > 판다스' 카테고리의 다른 글
누락 데이터 치환하기 2 [python/pandas] (1) | 2022.07.29 |
---|---|
누락 데이터 치환하기1 [python/pandas] (2) | 2022.07.28 |
dropna() 파이썬 누락 데이터 제거 [python/seaborn] (0) | 2022.07.21 |
isnull(), notnull() 누락 데이터 확인 [python/seaborn] (0) | 2022.07.19 |
[python/pandas] 판다스 중복행 제거 (0) | 2022.07.12 |