Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- KT AIVLE
- 백준
- 오블완
- 파이썬
- 알고리즘
- 프로그래머스
- 앙상블
- 머신러닝
- 케이티 에이블스쿨 6기 spring
- kt 에이블스쿨 6기 빅프로젝트
- 판다스
- 네트워크
- kt 에이블스쿨 기자단
- kt 에이블스쿨 6기
- 구현
- kt 에이블스쿨 6기 ai
- kt 에이블스쿨 6기 미니 프로젝트
- 케이티 에이블스쿨 6기 ai
- KT 에이블스쿨
- SQLD
- 케이티 에이블스쿨 6기
- 티스토리챌린지
- 백준 사탕 게임
- 케이티 에이블스쿨 기자단
- 케이티 에이블스쿨 6기 후기
- 데이터 프레임
- 케이티 에이블스쿨
- kt aivle school
- 케이티 에이블스쿨 6기 java
- 에이블 기자단
Archives
- Today
- Total
미식가의 개발 일기
[머신러닝] 결측치, 중복값 처리 본문
시리즈 결측치 처리
시리즈 데이터 생성
import pandas as pd
data = [20, None, 40, 50, None, 30, 70, None, 20, 50]
index = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
series = pd.Series(data, index=index)
series
결측치 제거
res = series.dropna()
res
결측치 채우기
res = series.fillna(0)
res
중복값 찾기
res = series.duplicated()
res
중복값 제거
res = series.drop_duplicates()
res
데이터 프레임 결측치 처리
데이터 프레임 생성
data = {'grade': [1, 1, 1, 2, 2, 2],
'subject': ['math', 'science', 'english', 'math', 'science', 'english'],
'score': [70, 80, 100, np.nan, 50, np.nan]}
df = pd.DataFrame(data)
df
결측치 확인
df.isna()
속성별 결측치 개수 확인
df.isna().sum()
결측치 포함 행 확인
df[df.isna().any(axis=1)]
결측치가 있는 행 제거
df.dropna()
특정 값으로 결측치 대체
- 평균값으로 대체
mean_score = df['score'].mean()
df['score'] = df['score'].fillna(mean_score)
- 최빈값으로 대체
mode_score = df['score'].mode() # 뒤에 [0]을 붙여주면 Name, dtype이 생략된 최빈값만 나옴
df['score'] = df['score'].fillna(mode_score)
- 지정값으로 대체
# score의 결측치를 30으로 대체
fill = {'score': 30}
filled_df = df.fillna(fill)
filled_df
결측치 보간 -> 주변의 데이터로 빈 부분을 추정하여 채우는 방법
# 선형 보간
df.interpolate(method='linear')
중복 제거
df.drop_duplicates()
반응형
'ML, DL' 카테고리의 다른 글
[머신러닝] 데이터 변환 및 시각화(with 캐글) (0) | 2024.07.14 |
---|---|
[머신러닝] 회사 합격 여부 예측하기(분류: 결정 트리, 랜덤 포레스트) (4) | 2024.07.14 |
[머신러닝] 분류 문제 vs 회귀 문제 (0) | 2024.07.13 |
[머신러닝] 로지스틱 회귀분석(Logistic Regresstion) (0) | 2024.07.13 |
[머신러닝] 범주형 데이터 인코딩 (1) | 2024.07.12 |