데이터 분석 학습 내용 정리
Pandas와 데이터 전처리
주제세부 내용
데이터 불러오기 | Kaggle 타이타닉 데이터, Pandas 형식으로 파일 불러오기 |
데이터 탐색 | 데이터 내용 확인, 특정 열 선택, 데이터 필터링 |
결측치 처리 | 결측치 제거 및 통계 확인 |
데이터 조작 | 행/열 추가 및 삭제, 열 이름 수정 |
데이터 시각화
주제세부 내용
기본 설정 | 축 레이블, 범례, 축 범위, 선 종류 설정 |
그래프 종류 | 막대그래프, 산점도, 선형 회귀선, 히스토그램, 커널 밀도 그래프 등 |
추가 설정 | 마커, 색상, 타이틀, 눈금 표시 |
Netflix 데이터 분석
주제세부 내용
데이터 탐색 및 전처리 | 결측치 비율 확인, 결측치 처리, 피처 엔지니어링 |
시각화 | - 오징어 게임 검색 결과 분석 - Movie & TV show 비율 (파이 플롯, 카운트 플롯 등) - 나라별 연령 타겟팅 (히트맵) - 워드 클라우드 |
시각화
스캐터 (Scatter) |
데이터의 분포와 두 변수 간 상관관계를 확인하는 점 그래프. 두 변수(축) 간 패턴을 시각화. |
- 키와 몸무게의 관계 - 제품 판매량과 광고비 간 관계 |
python<br>plt.scatter(x, y)<br>plt.show()<br> |
박스플롯 (Boxplot) |
데이터의 분포를 직사각형으로 나타내며, 중앙값, 사분위수, 이상치를 확인. | - 시험 점수의 분포 비교 - 제품 가격의 변동성 분석 |
python<br>sns.boxplot(data=data, x='category', y='value')<br>plt.show()<br> |
히스토그램(Histogram) | 데이터의 분포를 막대로 나타내며, 연속 변수의 빈도 분포를 확인. | - 사용자 나이 분포 - 매출 분포 |
python<br>plt.hist(data, bins=10)<br>plt.show()<br> |
커널 밀도 그래프(KDE) |
데이터 분포의 부드러운 추정치를 곡선으로 표시. 히스토그램보다 부드럽고 연속적인 형태를 제공. |
- 사용자 활동 시간대 분석 - 소득 분포 |
python<br>sns.kdeplot(data=data, x='value')<br>plt.show()<br> |
막대그래프(Bar) | 카테고리별 값을 비교하기 위해 사용. 세로 또는 가로 방향으로 표현 가능. |
- 월별 매출 비교 - 제품군별 판매량 비교 - 연령대별 사용자 비율 |
python<br>plt.bar(categories, values)<br>plt.show()<br> |
히트맵 (Heatmap) |
값의 분포와 상관관계를 색상으로 표현하여 데이터 간 패턴을 파악. | - 상관관계 분석 - 카테고리별 매출 차이 - 연령대별 선호도 |
python<br>sns.heatmap(data=corr_matrix, annot=True, cmap='coolwarm')<br>plt.show()<br> |
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
# 예제 데이터 생성
np.random.seed(42)
data = np.random.normal(0, 1, 100)
# 1. 스캐터
plt.figure(figsize=(10, 6))
plt.scatter(range(len(data)), data, alpha=0.7, color='blue')
plt.title("Scatter Plot Example")
plt.show()
# 2. 박스플롯
plt.figure(figsize=(10, 6))
sns.boxplot(data=data)
plt.title("Boxplot Example")
plt.show()
# 3. 히스토그램
plt.figure(figsize=(10, 6))
plt.hist(data, bins=10, color='green', alpha=0.7)
plt.title("Histogram Example")
plt.show()
# 4. KDE
plt.figure(figsize=(10, 6))
sns.kdeplot(data, shade=True, color='purple')
plt.title("KDE Example")
plt.show()
# 예제 데이터 생성
categories = ['A', 'B', 'C', 'D']
values = [10, 20, 15, 25]
# 1. 세로 막대그래프
plt.figure(figsize=(10, 6))
plt.bar(categories, values, color='skyblue', alpha=0.8)
plt.title("Vertical Bar Graph Example")
plt.xlabel("Categories")
plt.ylabel("Values")
plt.show()
# 2. 가로 막대그래프
plt.figure(figsize=(10, 6))
plt.barh(categories, values, color='orange', alpha=0.8)
plt.title("Horizontal Bar Graph Example")
plt.xlabel("Values")
plt.ylabel("Categories")
plt.show()
# 히트맵 생성 코드 예제
import seaborn as sns
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 예제 데이터 생성
np.random.seed(42)
data = pd.DataFrame({
'A': np.random.rand(10),
'B': np.random.rand(10),
'C': np.random.rand(10),
'D': np.random.rand(10)
})
# 상관계수 행렬 계산
corr_matrix = data.corr()
# 히트맵 생성
plt.figure(figsize=(8, 6))
sns.heatmap(corr_matrix, annot=True, cmap='coolwarm', fmt='.2f', linewidths=0.5)
plt.title('Heatmap of Correlation Matrix')
plt.show()