pandas
Pandas를 활용한 데이터 전처리 및 정리
난개발자
2025. 1. 30. 22:28
728x90
데이터 분석을 하기 전에 데이터 전처리(Data Preprocessing) 과정이 필수적입니다.
Pandas는 결측값 처리, 중복 제거, 데이터 변환 등의 기능을 제공하여 데이터를 정리하는 데 유용합니다.
1. 결측값 처리 (Missing Values)
데이터셋에는 종종 비어있는 값(NaN, null)이 포함되어 있습니다. 이를 처리하지 않으면 분석에 오류가 발생할 수 있습니다.
(1) 결측값 확인하기
import pandas as pd
# 예제 데이터 생성
data = {'이름': ['홍길동', '이순신', '강감찬', '김유신'],
'나이': [25, 30, None, 40],
'도시': ['서울', None, '대구', '부산']}
df = pd.DataFrame(data)
# 결측값 확인
print(df.isnull().sum()) # 각 열의 결측값 개수 확인
출력 결과:
이름 0
나이 1
도시 1
dtype: int64
(2) 결측값 제거하기
df_drop = df.dropna() # 결측값이 포함된 행 제거
print(df_drop)
(3) 결측값 채우기
df['나이'].fillna(df['나이'].mean(), inplace=True) # 평균값으로 채우기
df['도시'].fillna("알 수 없음", inplace=True) # 특정 값으로 채우기
print(df)
2. 중복 데이터 제거
데이터에 중복된 행이 있는 경우 제거할 수 있습니다.
df = pd.DataFrame({'이름': ['홍길동', '이순신', '강감찬', '홍길동'],
'나이': [25, 30, 45, 25]})
df = df.drop_duplicates() # 중복된 행 제거
print(df)
3. 데이터 형식 변환
숫자, 문자열, 날짜 등 데이터의 형식을 변환하는 것도 중요합니다.
(1) 데이터 타입 확인 및 변환
print(df.dtypes) # 데이터 타입 확인
df['나이'] = df['나이'].astype(int) # 정수형(int)으로 변환
(2) 날짜 데이터 변환
df['가입일'] = pd.to_datetime(df['가입일']) # 날짜 형식 변환
4. 데이터 정렬
정렬을 통해 데이터를 더 쉽게 분석할 수 있습니다.
df_sorted = df.sort_values(by='나이', ascending=True) # 나이를 기준으로 오름차순 정렬
print(df_sorted)
5. 새로운 열 추가 및 값 변경
df['회원 등급'] = ['VIP' if age > 30 else '일반' for age in df['나이']]
print(df)
6. 문자열 데이터 다루기
Pandas에서는 문자열 데이터를 다룰 수 있는 다양한 기능을 제공합니다.
df['이름'] = df['이름'].str.upper() # 이름을 대문자로 변환
df['이름'] = df['이름'].str.replace("홍길동", "무명씨") # 특정 문자열 변경
7. 마무리
이번 포스팅에서는 Pandas를 활용한 데이터 전처리 및 정리 방법을 배웠습니다.
다음 글에서는 데이터 분석 및 시각화에 대해 다룰 예정이니 기대해 주세요! 😊
728x90