Pandas는 데이터 분석을 위한 강력한 도구이며, 데이터프레임(DataFrame)을 활용하면 데이터를 쉽게 조작하고 분석할 수 있습니다. 이 글에서는 데이터프레임을 분석하는 방법, 데이터 조회, 정보 확인, 결과 해석, 그리고 결측값(null values) 처리 방법을 다룹니다.
데이터프레임 조회 (Viewing the Data)
데이터를 분석하기 위해 가장 먼저 해야 할 일은 데이터를 확인하는 것입니다. Pandas는 데이터를 효율적으로 조회할 수 있는 여러 메서드를 제공합니다.
1. 데이터프레임의 상위 일부 데이터 조회
import pandas as pd
# 예제 데이터프레임 생성
data = {
'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Age': [25, 30, 35, 40],
'City': ['New York', 'Los Angeles', 'Chicago', 'Houston']
}
df = pd.DataFrame(data)
# 처음 5개 행 조회
df.head()
df.head(n): 처음 n개의 행을 출력 (기본값: 5).
df.tail(n): 마지막 n개의 행을 출력.
2. 데이터 샘플 확인 랜덤 샘플을 확인할 수도 있습니다.
df.sample(3) # 임의의 3개 행 출력
데이터 정보 확인 (Info About the Data)
데이터프레임의 전체적인 정보를 확인하려면 info() 메서드를 사용합니다.
df.info()
출력 예시:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 3 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Name 4 non-null object
1 Age 4 non-null int64
2 City 4 non-null object
info()가 제공하는 정보:
데이터프레임의 행(row)과 열(column) 개수.
각 열의 데이터 타입 (object, int64, float64 등).
결측값(Null) 개수.
결과 해석 (Result Explained)
데이터 분석에서 describe() 메서드는 수치형 데이터의 기초 통계를 제공합니다.
df.describe()
출력 예시:
Age
count 4.000000
mean 32.500000
std 6.454972
min 25.000000
25% 28.750000
50% 32.500000
75% 36.250000
max 40.000000
주요 지표:
count: 데이터 개수
mean: 평균값.
std: 표준 편차.
min, max: 최소 및 최대값.
25%, 50%, 75%: 사분위수(Q1, Q2(중앙값), Q3).
범주형 데이터 확인:
df.describe(include=['object'])
이 명령어를 사용하면 텍스트(문자형) 데이터의 빈도수를 확인할 수 있습니다.
결측값 처리 (Null Values)
데이터프레임에서 결측값(누락된 데이터)이 있는지 확인하려면 isnull()과 sum()을 조합하여 사용합니다.
df.isnull().sum()
결측값 처리 방법:
결측값 제거:
dropna(): 결측값이 포함된 행 제거.
inplace=True: 원본 데이터프레임을 직접 수정.
df.dropna(inplace=True)
결측값 대체:
fillna(): 특정 값으로 결측값을 채움.
df['Age'].mean(): 평균 나이로 결측값을 대체.
df.fillna({'Age': df['Age'].mean()}, inplace=True)
결론
Pandas의 데이터프레임을 분석하는 과정에서 데이터 조회, 기본 정보 확인, 기초 통계 분석, 그리고 결측값 처리는 필수적인 단계입니다. head(), info(), describe(), isnull() 등의 메서드를 활용하여 데이터를 철저히 분석하고 정제하면 더 신뢰할 수 있는 데이터를 다룰 수 있습니다.