수업 일지

5주차 정리

cort53 2025. 1. 18. 16:16

데이터 분석 학습 내용 정리

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=(106))
sns.boxplot(data=data)
plt.title("Boxplot Example")
plt.show()

# 3. 히스토그램
plt.figure(figsize=(106))
plt.hist(data, bins=10, color='green', alpha=0.7)
plt.title("Histogram Example")
plt.show()

# 4. KDE
plt.figure(figsize=(106))
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=(106))
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=(106))
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=(86))
sns.heatmap(corr_matrix, annot=True, cmap='coolwarm', fmt='.2f', linewidths=0.5)
plt.title('Heatmap of Correlation Matrix')
plt.show()

'수업 일지' 카테고리의 다른 글

[Python Analysis] EPL 데이터 분석을 통한 토트넘 연대기 1  (0) 2025.02.12
8주차 정리  (0) 2025.02.10
4주차 정리  (2) 2025.01.11
3주차 정리  (0) 2025.01.04
2주차 정리  (2) 2024.12.27