-
Pandas를 활용한 데이터 전처리 및 정리pandas 2025. 1. 30. 22:28728x90
데이터 분석을 하기 전에 데이터 전처리(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'pandas' 카테고리의 다른 글
Pandas와 Scikit-Learn을 활용한 머신러닝 모델 만들기 (0) 2025.01.30 Pandas를 활용한 실전 데이터 분석 예제 (0) 2025.01.30 Pandas를 활용한 데이터 분석 및 시각화 (0) 2025.01.30 Pandas로 데이터 불러오기 및 저장하기 (0) 2025.01.30 Python Pandas 기초: 데이터 분석의 시작 (0) 2025.01.30