파이썬스터디

캐글 타이타닉 필사 1. Dataset check

0v0k 2024. 9. 28. 15:56

이요한님 영상보고 캐글에서 타이타닉 데이터 분석 필사 시작! 

1. Dataset Check 

https://www.youtube.com/watch?v=_iqz7tFhox0

 

import numpy as np #벡터연산
import pandas as pd #데이터프레임 쉽게 다룰 수 있게
import matplotlib.pyplot as plt # 데이터 시각화, 구글에 matplotlib style 검색하면 엄청 많이 나옴
import seaborn as sns

plt.style.use('seaborn') #시각화를 seaborn 스타일로 함
sns.set(font_scale=2.5) # 모든 폰트 2.5 (여기서 입력해야 매번 입력 안해도 됨)

import missingno as msno #null data 쉽게 보여줌

# ignore warnings #warning 무시하기. 무시해도 상관없음
import warnings
warnings.filterwarnings('ignore')

%matplotlib inline #원래 새로운 윈도우 창 뜨는데 이거 입력하면 여기 노트북에서 바로 보여줌

 

유튜브를 보고 따라서 입력했는데 

 

matplotlib이 업데이트되면서 seaborn만 입력하면 안되구 seaborn-v0_8-<스타일종류>로 입력해야 된다고 했다. 

https://matplotlib.org/stable/gallery/style_sheets/style_sheets_reference.html

matplotlib style을 확인할 수 있는 링크인데, 들어가보니 seaborn의 종류가 엄청 많다.

그 중 기본처럼 보이는 darkgrid로 선택!

 

그리고 %matplotlib + 명령어 뒤에 주석을 입력하면 오류가 나서 한 줄 띄고 주석 입력했더니 오류가 사라졌다. 

import numpy as np #벡터연산
import pandas as pd #데이터프레임 쉽게 다룰 수 있게
import matplotlib.pyplot as plt # 데이터 시각화, 구글에 matplotlib style 검색하면 엄청 많이 나옴
import seaborn as sns

plt.style.use('seaborn-v0_8-darkgrid') #시각화를 seaborn 스타일로 함
sns.set(font_scale=2.5) # 모든 폰트 2.5 (여기서 입력해야 매번 입력 안해도 됨)

import missingno as msno #null data 쉽게 보여줌

# ignore warnings #warning 무시하기. 무시해도 상관없음
import warnings
warnings.filterwarnings('ignore')

%matplotlib inline 
#원래 새로운 윈도우 창 뜨는데 inline 입력하면 여기 노트북에서 바로 보여줌

오류없이 성공! 

 

데이터 불러오기

pandas를 사용해 불러온다. csv말고도 여러 종류의 파일을 불러올 수 있다. tab누르면 어떤 파일 있는지 확인 가능 

df_train = pd.read_csv('../input/titanic/train.csv')
df_test=pd.read_csv('../input/titanic/test.csv')

 

데이터 확인하기  

df_train.head() : 위에서부터 ()안에 숫자 넣은 갯수만큼 데이터 보여줌. 기본값은 5

 

df_train.describe() : 전체적인 통계 

 

df_train.shape : 행, 열 개수 확인 가능

 

df_train.colums : 열 종류 확인가능 

 

null data 확인

null data는 채우는 것이 학습시킬 때 좋다. 

for col in df_train.columns:
    msg='column: {:>10}\t Percent of NaN value: {:.2f}%'.format(col, 100*(df_train[col].isnull().sum()/df_train[col].shape[0]))
    print(msg)

:> 오른쪽 정렬, :< 왼쪽정렬, : 왼쪽정렬

좌 : 왼쪽정렬(:<, :), 우 : 오른쪽 정렬(:>)

Age, Cabin, Embarked 에 null data가 있는 것을 확인할 수 있다. 

 

df_train[col].isnull() : 해당 열의 값이 null이면 True, null이 아니면 False 

df_train[col].isnull().sum() : True의 값을 더해서 알려줌. 즉, null이 몇개인지 확인 가능. 

 

msno.matrix(df=df_train.iloc[:,:], figsize=(6,6),color=(0.8,0.5,0.2))

어느 위치에 null data가 있는지 확인하기 좋음. 하얀 부분이 null data

 

msno.bar(df=df_train.iloc[:,:],figsize=(6,6),color=(0.8,0.5,0.2))

직접적인 퍼센트 확인 가능. 

 

iloc [:,:] : 첨부터 끝까지. 만약 iloc[3:6, 2:] : 3번째부터 5번째행까지 , 2번째 열부터 끝까지
color : RGB값