일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 사각형변형
- 파이썬
- 색상변경
- 정말
- 보라카이
- OpenGL
- BeautifulSoup
- 방향변경
- 필기후기
- 언제또가보지
- 호주
- 빅데이터분석기사후기
- 청청구역
- 유니코드 제거
- 빅데이터분석기사
- 마우스클릭
- 크롤링
- 애니메이션
- 오류
- 예쁜곳
- 너무오래됐다
- 데이터전처리
- 가고싶은데
- 멜버른
- 갈자신이없다
- 빅데이터분석기사필기
- selenium
Archives
- Today
- Total
wisdiom 아니고 wisdom
데이터 탐색 및 데이터 정제 본문
1) 다별량 데이터 탐색
df.info()
2) 범주형 자료 탐색, 범주별 데이터 개수 확인
df[col].value_counts()
3) 연속형 자료 탐색
df.describe()
평균(mean)과 중위수(median)의 차이가 크지 않은 지 확인하고, 평균과 중위수가 일치할수록 이상치가 적은 데이터를 의미한다.
df.skew() # 왜도 : 0일 경우, 정규분포와 일치
df.kurtosis() # 값이 클수록 중심에 자료가 많이 몰려있다. 0이면 정규분포와 높이가 동일.
df.hist()
4) 이변량 데이터 탐색
df.corr(method='pearson')
# pearson 상관계수: 모수 검정, 수치형/연속형 데이터 변수
# spearman 순위 상관계수 : 비모수 검정, 범주형 데이터 중에서 순서적 데이터 변수 "순위 차이"
# kendall 순위 상관계수 : 비모수 검정, 범주형 데이터 중 순서적 데이터 변수 "순서 일관성"
5) 이상치 처리
5-1) 이상치 확인
df.boxplot() #시각화
Q1 = df[col].quantile(q=0.25)
Q3 = df[col].quantile(q=0.75)
IQR = Q3 - Q1
lower = Q1 − 1.5 × IQR
upper = Q3 + 1.5 × IQR
- 이상치 기준 : lower보다 작거나 upper보다 큰 값
- IQR : 3사분위수에서 1사분위수를 뺀 값
5-2) 이상치 제거
- 변수 변환
np.log(df[col]) # 로그 변환
np.sqrt(df[col]) # 제곱근 변환
- 대체
- 단순 제거
- Winsorizing : 이상치 값을 특정 임계값 내로 제한하는 방법, 이상치 값을 상한 또는 하한으로 변환하여 극단값이 모델에 미치는 영향을 줄이는 방식
7) 결측치 처리
7-1) 결측치 확인
df.isnull()
df.isnull().sum() # 열 별 결측치 확인
df.isnull().sum(1) # 행 별 결측치 확인
7-2) 결측치 제거
df.dropna(axis=0) # 결측값이 있는 행 제거
df.dropna(axis=1) # 결측값이 있는 열 제거
df[[col]].dropna() # 결측값이 있는 특정 행/열 제거
7-3) 결측값 대체
df.fillna(value)
df.fillna(method='ffill' or 'pad') # 해당 변수 앞 값으로 대체
df.fillna(method='bfill' or 'backfill') #해당 변수 다음 값으로 대체
# 집단 평균값으로 대체
df.groupby(col).mean()
df.groupby(col).apply(lambda x: x.fillna(g.mean()))
반응형
'👩💻 > pandas' 카테고리의 다른 글
dataframe[column].str.contains() (0) | 2023.05.24 |
---|---|
3. 데이터프레임 응용(7) (0) | 2021.07.30 |
4. 머신러닝 데이터 분석 (3) (0) | 2021.02.16 |
4. 머신러닝 데이터 분석(2) - 3 (0) | 2021.02.15 |
4. 머신러닝 데이터 분석(2) - 2 (0) | 2021.02.15 |