데이터 탐색은 데이터 분석 과정에서 가장 기본적이면서도 중요한 단계입니다. 이 과정에서 Pandas를 사용하면 데이터를 효과적으로 조회하고, 요약하며, 결측값을 처리할 수 있습니다. 이번 블로그 글에서는 데이터 탐색의 핵심적인 기능들을 Pandas 라이브러리를 사용하여 다루어 보겠습니다.
1. 데이터 조회 및 요약
1.1 데이터 조회 (head(), tail())
데이터를 처음 불러왔을 때, 전체 데이터를 확인하기에는 너무 방대한 경우가 많습니다. 이때 head()와 tail() 메서드를 사용하여 상위 혹은 하위 몇 개의 데이터를 간략하게 확인할 수 있습니다.
import pandas as pd
# CSV 파일을 읽어 데이터프레임으로 변환
df = pd.read_csv('data.csv')
# 데이터 상위 5개 행 확인
print(df.head())
# 데이터 하위 5개 행 확인
print(df.tail())
코드 설명:
- pd.read_csv()는 CSV 파일을 읽어 Pandas의 데이터프레임으로 변환합니다.
- head()는 상위 5개 데이터를, tail()은 하위 5개 데이터를 반환합니다. 괄호 안에 숫자를 넣어 표시할 행 수를 조절할 수 있습니다.
1.2 데이터 요약 (describe(), info())
describe() 메서드는 수치형 데이터에 대해 주요 통계 정보를 제공합니다. 이를 통해 평균, 표준편차, 최소/최대값 등을 빠르게 파악할 수 있습니다. info()는 데이터프레임의 기본 정보를 출력합니다.
# 데이터 요약 통계
print(df.describe())
# 데이터프레임의 전체적인 정보
print(df.info())
코드 설명:
- describe()는 각 열의 주요 통계치를 계산해 줍니다.
- info()는 데이터프레임의 구조, 각 열의 데이터 유형, 결측값 여부 등을 확인할 수 있습니다.
2. 데이터 인덱싱과 슬라이싱
데이터의 특정 부분만 선택하여 작업하는 경우가 많습니다. Pandas는 다양한 방식으로 데이터를 인덱싱하고 슬라이싱할 수 있습니다.
2.1 열 선택
데이터프레임의 특정 열을 선택할 때는 열 이름을 대괄호([ ])로 감싸 사용합니다.
# 특정 열 선택
print(df['column_name'])
코드 설명:
- df['column_name']은 특정 열만 선택하여 출력합니다.
2.2 행 선택 (iloc, loc)
행을 선택할 때는 iloc (정수 기반 인덱싱)과 loc (이름 기반 인덱싱)을 사용합니다.
# iloc을 사용한 행 선택 (정수 인덱스)
print(df.iloc[0]) # 첫 번째 행 출력
# loc을 사용한 행 선택 (인덱스 이름 기반)
print(df.loc[0]) # 첫 번째 행 출력
코드 설명:
- iloc[]은 행 번호를 기준으로 데이터를 선택합니다.
- loc[]은 데이터프레임의 인덱스 이름을 기준으로 데이터를 선택합니다.
3. 결측값 처리
결측값은 데이터 분석에서 흔히 발생하는 문제입니다. Pandas는 결측값을 쉽게 처리할 수 있는 여러 가지 방법을 제공합니다.
3.1 결측값 확인
먼저 결측값이 있는지 확인하기 위해 isnull()과 sum()을 사용할 수 있습니다.
# 각 열의 결측값 수 확인
print(df.isnull().sum())
코드 설명:
- isnull()은 각 셀의 결측 여부를 확인하고, sum()을 통해 결측값의 개수를 열별로 합산합니다.
3.2 결측값 채우기 (fillna())
결측값을 특정 값으로 대체하거나 평균값 등으로 채울 수 있습니다.
# 결측값을 0으로 대체
df_filled = df.fillna(0)
# 결측값을 각 열의 평균값으로 대체
df_filled_mean = df.fillna(df.mean())
코드 설명:
- fillna()를 사용해 결측값을 0 또는 평균값으로 대체합니다.
3.3 결측값 제거 (dropna())
필요에 따라 결측값이 포함된 행이나 열을 제거할 수도 있습니다.
# 결측값이 있는 행 제거
df_dropped = df.dropna()
# 결측값이 있는 열 제거
df_dropped_col = df.dropna(axis=1)
코드 설명:
- dropna()는 결측값이 있는 행 또는 열을 제거합니다. axis=1은 열을 기준으로 제거하겠다는 의미입니다.
결론
이번 포스팅에서는 Pandas를 활용하여 데이터를 탐색하는 기본적인 방법을 살펴보았습니다. 데이터프레임의 일부를 조회하고, 요약 정보를 통해 데이터를 파악하며, 인덱싱과 슬라이싱으로 특정 데이터를 선택할 수 있습니다. 마지막으로 결측값을 처리하는 방법도 알아보았습니다. 다음 글에서는 Pandas를 활용한 데이터 변형 및 분석 방법을 다루어보겠습니다.
'공부 > 판다스(Pandas)' 카테고리의 다른 글
Pandas로 배우는 데이터 그룹화와 집계/효율적인 데이터 분석 방법 (0) | 2024.10.16 |
---|---|
Pandas로 배우는 데이터 전처리(정렬, 필터링, 중복 처리, 변환과 치환) (1) | 2024.10.12 |
Pandas의 기본 데이터 구조 이해하기/Series와 DataFrame (0) | 2024.10.04 |
Pandas로 시작하는 데이터 분석/비전공자도 쉽게 배우는 필수 도구 (5) | 2024.10.04 |
[Pandas] 판다스를 활용하여 데이터 분석 하는 방법 (0) | 2023.12.05 |