pandas

Pandas를 활용한 데이터 분석 및 시각화

난개발자 2025. 1. 30. 22:31
728x90

 

데이터를 정리한 후에는 이를 분석하고 시각화하는 과정이 필요합니다.
Pandas는 기본적인 데이터 분석 기능을 제공하며, MatplotlibSeaborn 라이브러리와 함께 사용하면 강력한 시각화를 수행할 수 있습니다.


1. 데이터 분석 기초

(1) 기본 정보 확인

import pandas as pd

# 예제 데이터 생성
data = {'이름': ['홍길동', '이순신', '강감찬', '김유신', '유관순'],
        '나이': [25, 35, 45, 40, 22],
        '도시': ['서울', '부산', '대구', '광주', '서울'],
        '연봉': [5000, 7000, 8000, 7500, 5500]}

df = pd.DataFrame(data)

# 데이터 기본 정보 확인
print(df.info())  # 데이터 타입, 결측값 확인
print(df.describe())  # 숫자형 데이터의 기초 통계

describe() 메서드는 평균, 표준편차, 최소값, 최대값 등을 확인하는 데 유용합니다.


(2) 특정 열의 분석

print(df['도시'].value_counts())  # 도시별 데이터 개수 확인
print(df['연봉'].mean())  # 평균 연봉 계산

(3) 그룹별 분석

grouped = df.groupby('도시')['연봉'].mean()  # 도시별 평균 연봉 계산
print(grouped)

2. 데이터 시각화

Pandas는 기본적인 그래프 기능을 제공하며, MatplotlibSeaborn과 함께 사용하면 더욱 강력한 시각화를 수행할 수 있습니다.

(1) 라이브러리 설치 및 불러오기

import matplotlib.pyplot as plt
import seaborn as sns

(2) 히스토그램 (Histogram) - 연봉 분포 확인

df['연봉'].hist(bins=5, edgecolor='black')
plt.xlabel('연봉')
plt.ylabel('빈도수')
plt.title('연봉 분포')
plt.show()

(3) 막대 그래프 (Bar Chart) - 도시별 평균 연봉

df.groupby('도시')['연봉'].mean().plot(kind='bar', color=['blue', 'green', 'red', 'purple'])
plt.xlabel('도시')
plt.ylabel('평균 연봉')
plt.title('도시별 평균 연봉')
plt.show()

(4) 박스플롯 (Box Plot) - 연봉 분포 확인

sns.boxplot(x=df['연봉'])
plt.title('연봉 분포')
plt.show()

(5) 산점도 (Scatter Plot) - 나이와 연봉의 관계

plt.scatter(df['나이'], df['연봉'], color='red')
plt.xlabel('나이')
plt.ylabel('연봉')
plt.title('나이와 연봉의 관계')
plt.show()

3. 상관관계 분석 (Correlation Analysis)

print(df.corr())  # 상관관계 행렬 출력
sns.heatmap(df.corr(), annot=True, cmap='coolwarm', fmt='.2f')
plt.title('특성 간 상관관계')
plt.show()
  • corr() 메서드를 사용하면 숫자형 변수 간의 상관관계를 확인할 수 있습니다.
  • Seaborn의 heatmap()을 활용하면 시각적으로 상관관계를 확인하기 좋습니다.

4. 마무리

이번 포스팅에서는 Pandas를 활용한 데이터 분석 및 시각화 방법을 배웠습니다.
다음 글에서는 실제 데이터셋을 활용한 실전 분석 예제를 다룰 예정이니 기대해 주세요! 😊

 

728x90