[천재교육] 프로젝트 기반 빅데이터 서비스 개발자 양성 과정 9기
학습일 : 2024.07.31
📕 학습 목록
- 주요 상품 카테고리 분석 및 시각화
📗프로젝트 작업 내역
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 14] IT 프로젝트, Python 실습 (0) | 2024.07.30 |
---|---|
[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 |