데이터 분석에 있어 Pandas는 파이썬에서 가장 널리 사용되는 라이브러리 중 하나입니다. 데이터 프레임의 생성부터 시작해 조작, 변형, 분석까지 다양한 기능을 제공하여 데이터 과학자와 분석가들에게 없어서는 안 될 도구입니다. 이번 포스팅에서는 데이터 분석을 위해 자주 사용되는 Pandas 함수들을 소개하고, 실제 코드 예제를 통해 그 활용법을 살펴보겠습니다.
1. read_csv()
가장 기본적인 데이터 로딩 함수인 read_csv()는 CSV 파일을 데이터 프레임으로 읽어오는 함수입니다. 데이터 분석의 시작은 데이터 수집에서부터 시작되므로, 이 함수는 필수적입니다.
import pandas as pd
df = pd.read_csv('data/sample_data.csv')
print(df.head())
2. info()
데이터 프레임의 기본적인 정보를 확인할 수 있는 info() 함수는 데이터의 구조를 파악하는 데 유용합니다. 데이터의 컬럼, 데이터 타입, 결측치 수 등을 확인할 수 있습니다.
# 데이터 프레임의 구조 정보 출력
df.info()
3. describe()
describe() 함수는 수치형 데이터의 기본적인 통계량을 제공합니다. 평균, 표준편차, 최솟값, 최댓값 등을 한눈에 확인할 수 있어 데이터 분석 시 유용합니다.
# 수치형 데이터의 통계량 출력
stats = df.describe()
print(stats)
4. isnull()와 sum()
결측치를 확인하는 것은 데이터 전처리의 중요한 과정입니다. isnull() 함수는 특정 데이터가 결측치인지 확인하는데 사용되며, sum() 함수를 함께 사용하면 각 컬럼별 결측치 수를 쉽게 파악할 수 있습니다.
# 각 컬럼별 결측치 수 확인
missing_values = df.isnull().sum()
print(missing_values)
5. fillna()
결측치를 처리하는 또 다른 중요한 함수는 fillna()입니다. 이 함수는 결측치를 특정 값으로 채우거나, 이전 또는 이후의 값으로 대체할 수 있습니다.
# 결측치를 0으로 채우기
df_filled = df.fillna(0)
print(df_filled.head())
6. groupby()
groupby() 함수는 특정 컬럼을 기준으로 데이터를 그룹화하여 집계할 수 있게 해줍니다. 이 함수는 통계적 분석에서 매우 중요하며, 여러 통계 함수를 함께 사용할 수 있습니다.
# 특정 컬럼 기준으로 그룹화 후 평균 계산
grouped_data = df.groupby('category').mean()
print(grouped_data)
7. pivot_table()
pivot_table() 함수는 데이터를 피벗 형태로 변형하여, 여러 차원에서 데이터를 분석할 수 있게 합니다. 다양한 집계 함수를 사용하여 데이터를 요약할 수 있습니다.
# 피벗 테이블 생성
pivot_table = df.pivot_table(values='sales', index='date', columns='category', aggfunc='sum')
print(pivot_table)
8. plot()
Pandas는 데이터 시각화를 위한 기본적인 기능도 제공합니다. plot() 함수를 통해 간단하게 데이터 시각화를 할 수 있습니다.
import matplotlib.pyplot as plt
# 데이터 시각화
df['sales'].plot(kind='line')
plt.title('Sales Over Time')
plt.xlabel('Time')
plt.ylabel('Sales')
plt.show()
9. merge()
여러 데이터 프레임을 합치는 데 사용되는 merge() 함수는 데이터베이스의 JOIN과 유사한 기능을 제공합니다. 서로 다른 데이터 소스를 통합할 때 유용합니다.
# 두 데이터 프레임 합치기
df1 = pd.DataFrame({'key': ['A', 'B', 'C'], 'value1': [1, 2, 3]})
df2 = pd.DataFrame({'key': ['B', 'C', 'D'], 'value2': [4, 5, 6]})
merged_df = pd.merge(df1, df2, on='key', how='inner')
print(merged_df)
마무리
Pandas는 데이터 분석의 모든 과정을 수월하게 해주는 강력한 라이브러리입니다. 위에서 소개한 함수들은 데이터 로딩부터 결측치 처리, 데이터 그룹화 및 시각화까지 다양한 작업을 수행할 수 있는 기초적인 도구들입니다. 데이터 분석을 진행하면서 이러한 기능들을 활용하면, 보다 효율적이고 체계적인 데이터 분석이 가능할 것입니다. 데이터 분석에 있어 Pandas를 적극 활용해 보시기 바랍니다.