본문 바로가기
TIL _Today I Learned/2024.07

[DAY 14] IT 프로젝트, Python 실습

by gamdong2 2024. 7. 30.
[천재교육] 프로젝트 기반 빅데이터 서비스 개발자 양성 과정 9기
학습일 : 2024.07.30

📕 학습 목록

  • IT 프로젝트 개념
  • 주요 상품 카테고리 분석 및 시각화

 

📗기억할 내용

[IT 프로젝트]

1. IT 프로젝트

  • 정의: 정보기술을 활용하여 특정 목표를 달성하기 위한 활동
  • 포함 항목: 소프트웨어 개발, 네트워크 설정, 인프라 구축 등

2. 프로젝트 관리 방법론

1) 워터폴 (Waterfall)

  • 특징: 순차적 단계 진행 방식으로, 각 단계가 완료되어야 다음 단계로 넘어감
  • 단계
    1. 요구사항 수집 - 모든 요구사항 정의 및 문서화
    2. 분석 & 설계 - 소프트웨어 구조 설계
    3. 코딩 - 설계에 맞춰 구현
    4. 테스트 - 요구사항 충족 여부 확인
    5. 운영 - 배포 후 유지보수
  • 장점
    • 명확한 구조로 관리 용이
    • 문서화가 잘 되어 있어 변경이 적음
  • 단점
    • 요구사항 변경이 어려움
    • 초기 계획에서 고객 피드백이 부족

2) 애자일 (Agile)

  • 특징: 반복적, 점진적 접근으로 유연성과 효율성 강조
  • 단계
    1. 백로그 작성 - 요구사항 목록 작성
    2. 스프린트 계획 - 짧은 주기의 작업 계획 수립
    3. 스프린트 실행 - 매일 상황 공유
    4. 스프린트 리뷰 - 작업 결과물 검토 및 개선
    5. 반복 - 지속적인 피드백 반영
  • 장점
    • 고객 피드백을 자주 반영 가능
    • 품질 개선 효과
  • 단점
    • 요구사항이 자주 변경되면 혼란이 발생할 수 있음

3. 프로젝트 도구

1) 프로젝트 관리 도구

  • Jira: 스크럼, 칸반 보드를 통한 이슈 관리
  • Trello: 리스트와 카드를 활용한 간단한 프로젝트 관리
  • Microsoft Project: 대규모 프로젝트 계획 및 관리에 적합
  • Asana & Notion: 팀 협업 및 관리 도구

2) 프로젝트 협업 도구

  • Slack: 메시징을 통한 실시간 협업
  • Confluence: 프로젝트 지식 공유 및 문서화
  • Git & GitHub: 코드 버전 관리 및 협업 도구

 

[프로젝트 작업 내역]

1) 프로젝트 제목

주문 데이터를 활용한 주요 상품 카테고리 분석 및 시각화

 

2) 프로젝트 목표

  • 쇼핑몰에서 자주 구매되는 주요 상품 카테고리를 분석하고, 특정 지역(해안/내륙)에 따라 지출 분포를 비교하여 상품 트렌드를 시각화

3) 사용한 데이터 셋

  • 각 주문 항목에 주요 카테고리가 포함된 주문 데이터
  • 내륙 및 해안 지역별로 상품 카테고리별 지출액을 포함한 데이터

4) 워크플로우

① 데이터 수집 및 전처리

import pandas as pd

# 데이터 불러오기
df_orders = pd.read_csv("Data/order_items_with_major_category.csv")
df_spending = pd.read_csv("Data/mapped_spending_by_category.csv")

# 데이터 기본 정보 확인
df_orders.info()
df_spending.info()

 

② 카테고리별 주문 빈도 분석

# major_category 빈도 구하기
df_major_category = (
    df_orders.groupby("major_category", as_index=False)
    .agg(n=("major_category", "count"))
    .sort_values("n", ascending=False, ignore_index=True)
)

# 상위 10개 카테고리 추출
top10 = df_major_category.head(10)
print(top10)

 

③ 카테고리별 매출 시각화

import matplotlib.pyplot as plt
import seaborn as sns

sns.barplot(data=top10, x="major_category", y="n", palette="RdPu_r")
plt.title("Top 10 Product Categories by Order Quantity")
plt.ylabel("주문 수량 (개)")
plt.xlabel("상품 카테고리")
plt.xticks(rotation=45, ha='right')
plt.show()

 

④ 지역별 상품 카테고리 지출 분석

# 해안 지역에서 상위 지출 카테고리
df_coastal = df_spending[df_spending['region'] == 'coastal']
major_category_price = df_coastal.groupby('major_category')['price'].sum().reset_index()
major_category_price = major_category_price.rename(columns={'price': 'major_category_price'})
df_coastal = pd.merge(df_coastal, major_category_price, on="major_category", how="left")

print(df_coastal.head())

 

⑤ 내륙 및 해안 지역 간 지출 분포 비교

# 해안/내륙 비교
df_inland = df_spending[df_spending['region'] == 'inland']
plt.figure(figsize=(10, 6))
sns.barplot(data=df_inland, x="major_category", y="price", color="blue", label="Inland")
sns.barplot(data=df_coastal, x="major_category", y="price", color="orange", label="Coastal")
plt.legend()
plt.title("Coastal vs Inland Spending by Category")
plt.xticks(rotation=45, ha='right')
plt.show()

 

5) 프로젝트 결과

  • 구현 기능
    • 상위 10개의 주요 상품 카테고리를 확인하고 내륙과 해안 지역에서의 지출 분포 차이를 시각화
    • 특정 카테고리에서 해안 지역의 지출이 높은 것을 확인

 6) 트러블 슈팅

  • 데이터 결측치 처리: 특정 카테고리에서 지출값이 없는 문제를 fillna로 처리하여 시각화에 반영할 수 있도록 함
  • 카테고리 정렬 문제: 시각화 시 카테고리 정렬 문제를 order 매개변수로 해결하여 직관적인 그래프를 생성

7) 프로젝트를 통해 얻은 역량

  • 데이터 분석 및 시각화: 다양한 카테고리별 데이터 분석을 통해 효과적인 시각화 기법을 적용

 

 

📙 내일 일정

  • Python 실습

 

 

 

 

 

'TIL _Today I Learned > 2024.07' 카테고리의 다른 글

[DAY 15] Python 실습  (0) 2024.07.31
[DAY 13] Python 실습  (0) 2024.07.29
[DAY 12][특강] 학습 데이터의 유형 및 서비스 적용 사례  (1) 2024.07.26
[DAY 11] Plotly, Folium  (0) 2024.07.25
[DAY 10] Data Visualization  (0) 2024.07.24