1. 결측값 확인 : info()
- 데이터프레임의 전반적인 정보를 요약 출력하는 메서드
- 출력내용
- 행(row) 수와 열(column) 수
- 각 열의 이름, 데이터 타입, 데이터개수(결측치 여부 포함)
- 데이터프레임의 메모리 사용량
import pandas as pd
# 데이터프레임 생성
data = pd.DataFrame({
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, None, 35],
'City': ['Seoul', 'Busan', None]
})
# 데이터프레임 정보 출력
data.info()
# 출력 예시
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 3 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Name 3 non-null object
1 Age 2 non-null float64
2 City 2 non-null object
dtypes: float64(1), object(2)
memory usage: 204.0+ bytes
RangeIndex: 3 entries, 0 to 2
Data columns (total 3 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Name 3 non-null object
1 Age 2 non-null float64
2 City 2 non-null object
dtypes: float64(1), object(2)
memory usage: 204.0+ bytes
2. 결측치 삭제하거나 대체하기 : dropna() · fillna() · interpolate()
1. dropna() : 결측값(NaN)을 포함한 행이나 열을 제거하는 메서드
data_cleaned = data.dropna() #결측값이 있는 행 제거
data_cleaned = data.dropna(axis=1) #결측값이 있는 열 제거
data_cleaned = data.dropna(how='all') #모든 열이 결측값인 행 제거
2. fillna() : 결측값(NaN)을 지정된 값으로 채우는 메서드
data_filled = data.fillna(0) #결측값을 0(특정값)으로 채우기
data['Age'] = data['Age'].fillna(data['Age'].mean()) #결측값을 평균값으로 채우기
data_filled = data.fillna(method='ffill') #결측값을 앞의 값으로 채우기
3. interpolate() : 결측값(NaN)을 특정방식으로 계산하여 채우는 메서드
data.interpolate(method='linear', anis=0, inplace=False') # 결측값을 선형으로 보간
선형보간은 두 점 사이의 값을 직선의 기울기를 기준으로 계산하여 중간 값을 채우는 방법
즉, 데이터를 직선으로 연결했다고 가정하고 결측값을 그 직선 위으 값으로 보완하는 것
반응형
'Data Science > Python' 카테고리의 다른 글
파이썬 6 | add · remove · discard · pop · clear · update · union (0) | 2025.01.20 |
---|---|
파이썬입문 4 | shape · head() · is_null() (0) | 2025.01.19 |
파이썬 입문 3 | import · read_csv() (0) | 2025.01.19 |
파이썬 입문 2 | 함수 (0) | 2025.01.15 |
파이썬 입문 1 | If · For · While (0) | 2025.01.14 |