반응형
1. 빠진 데이터 찾기
결측치 : 누락된 값, 비어 있는 값을 의미한다.
pandas - isna() : 결측치 확인(boolean값으로 반환)
inna().sum() : 결측치 빈도 확인
dropna(subset=[]) : 결측치 제거
dropna() : 모든 변수에 결측치 제거 (꼭 필요할 때만 사용)
원본 코드
import pandas as pd
import numpy as np
df = pd.DataFrame({'sex':['M','F',np.nan,'M','F']},
'score':[5,4,3,4,np.nan])
print(df)
print(pd.isna(df))
print(pd.isna(df).sum())
print(df.dropna(subset=['score']))
print(df.dropna())
결과값
2. 결측치 대체하기
원본 코드
import pandas as pd
import numpy as np
df = pd.DataFrame({'sex':['M','F',np.nan,'M','F'],
'score': [5,4,3,4,np.nan]})
df['sex']=df['sex'].fillna('M')
a=df['score'].mean()
df['score']=df['score'].fillna(a)
print(df)
결과값
3. 이상치 정제하기
이상치 : 정상 범위에서 크게 벗어난 값
이상치 확인 : value_coubts().sort_index()로 값 확인
결측 처리 : np.where(df[]==?, np.nan, df[])
평균 구하기 : dropna(subset=[]).groupby('').agg(mean_score=(''))
원본 코드
import pandas as pd
import numpy as np
df = pd.DataFrame({'sex':[1,2,1,3,2,1],
'score': [5,4,3,4,2,6]})
print(df['sex'].value_counts().sort_index())
df['score']=np.where(df['score']>5, np.nan, df['score'])
df.dropna(subset=['sex','score']).groupby('sex').agg(mean_score=('score','mean'))
print(df)
결과값
4. 극단치 제거하기
극단치 : 논리적으로 가능하지만, 극단적으로 크거나 작은 값
원본 코드
import pandas as pd
import numpy as np
mpg = pd.read_csv('mpg.csv')
import seaborn as sns
sns.boxplot(data=mpg, y='hwy')
결과값
상자 그림
|
값
|
설명
|
상자 아래 세로선
|
아랫수염
|
하위 0~25%
|
상자 밑면
|
1사분위수(Q1)
|
하위 25%
|
상자 내 굵은 선
|
2사분위수(Q2)
|
하위 50%
|
상자 윗면
|
3사분위수(Q3)
|
하위 75%
|
상자 위 세로선
|
윗수염
|
하위 75~100%
|
상자 밖 가로선
|
극단치 경계
|
Q1, Q3 밖 1.5 IQR 내 최대값
|
상자 밖 점 표식
|
극단치
|
Q1, Q3 밖 1.5 IQR을 벗어난 값
|
1,3사분위수 구하기
pct25 = mpg['hwy'].quantile(.25)
pct75 = mpg['hwy'].quantile(.75)
iqr=pct75-pct25
하한, 상한 구하기
pct25 -1.5*iqr
pct75 +1.5*iqr
극단치 결측 처리
mpg['hwy'] = np.where((mpg['hwy']<4.5| (mpg['hwy']>40.5),
np.nan, mpg['hwy']))
'프로그래밍 > 파이썬' 카테고리의 다른 글
데이터 분석 - 실전 데이터 분석(한국복지패널 데이터) (5) | 2023.01.13 |
---|---|
데이터 분석 - 파이썬으로 그래프 만들기(seaborn) (7) | 2023.01.12 |
데이터 분석-데이터 전처리 및 가공(feat. pandas) (3) | 2023.01.10 |
[Python] 데이터 분석 기초(pandas, numpy, 파생변수) (7) | 2023.01.08 |
[Python] 아나콘다 설치 및 파이썬, JupyterLab 이용하기 (3) | 2023.01.07 |