column간 상관관계 계산하기(3:23)
- 두 변수간의 흐름이 얼마나 관계가 있는지 알아보는 것 (-1<상관관계<1)
- 1에 가깝다고 해서 두 변수가 꼭 인과관계가 있다고 할 수는 없다
- 0에 가까울 수록 상관관계가 없다
- dataframe에서 corr 함수 이용
train_data.corr()
// 함수결과를 출력하기
- 행렬의 대각 값은 항상 1
NaN 데이터 처리(12:16)
- 결측값
- info함수를 통해 갯수 확인
- isna함수를 통해 boolean 타입으로 확인
train_data.info()
train_datda.isna() // 값이 True인 경우 NaN을 뜻함
train_data['Age'].isna() // Age 컬럼에 대해 NaN 결과 확인
NaN 처리방법
- drop na
- subset 이용
- NaN값 대체하기
train_data.dropna() // NaN 이 있는 row level 삭제
train_data.dropna(subset=['Age','Cabin']) // row level 삭제
train_data.dropna(axis=1) // Age, Cabin, 등 column 없어짐, column 에 결측값이 하나라도 있으면 삭제
// NaN 값 대체하기, NaN에 Age mean() 값으로 대체하기
train_data['Age'].fillna( train_data['Age'].mean() );
// mean1 : 생존자 나이 평균, mean0 : 사망자 나이 평균
train_data[train_data['Survived']==1]['Age'].fillna(mean1)
숫자/범주형 데이터 이해(3:37)
- info 함수로 각 변수의 데이터 타입 확인,
- 문자형 object, 숫자형 int, 실수형 float
범주형 데이터
- 데이터 분석에 바로 활용할 수 없음
숫자 데이터의 범주형 데이터화(6:40)
Pclass 변수 변환하기 : 숫자형으로 보이지만 범주형
train_data.info()
train_data['Pclass'] = train_data['Pclass'].astype(str)
numpy, pandas 활용할 때, for while 최대한 지양한다
Age변수 변환하기
import math
def age_categorize(age) :
if math.isnan(age):
return -1
return math.floor(age/10) * 10
train_data['Age'].apply(age_categorize) // apply 통해서 변환 가능
학습 후