728x90
Commerce 데이터 분석
데이터 출처 : https://archive.ics.uci.edu/ml/datasets/online+retail#
1. 데이터 확인
# 기본 패키지 불러오기
import math
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
plt.style.use("seaborn")
sns.set(font_scale = 1)
sns.set_style("whitegrid")
import plotly.express as px
import chart_studio.plotly as py
import cufflinks as cf
cf.go_offline(connected=True)
import plotly.graph_objects as go
import plotly.offline as pyo
pyo.init_notebook_mode()
from plotly.subplots import make_subplots
import missingno as msno
import warnings # 경고 메세지 숨기기
warnings.filterwarnings(action='ignore')
plt.rcParams['font.family'] = 'S-Core Dream' # 한글 폰트 가져오기
# 데이터 불러오기
online = pd.read_excel("data/Online Retail.xlsx")
print(online.shape)
online.head()
<컬럼 설명>
- InvoiceNo: 주문번호
- StockCode: 상품코드
- Description: 상품 설명
- Quantity: 수량
- InvoceDate: 주문날짜
- UnitPrice: 개별 가격
- CustomerID: 고객번호
- Country: 국가
# 데이터 기본 정보 확인
online.info()
# 연속형(수치) 데이터 통계치 확인
online.describe()
# 범주형(문자) 데이터의 통계치 확인
online.describe(include = np.object_)
# 결측치 확인
online.isnull().sum()
# 결측치 시각화
msno.bar(online)
CustomerId(고객번호) 컬럼의 결측치가 많이 보입니다.
# 데이터 내용 정리
print("총 데이터 수: ", online.shape[0] * online.shape[1])
print("총 결측치 수: {} = 전체 데이터의 {:.2f}%".format(online.isnull().sum().sum(),
(online.isnull().sum().sum()/(online.shape[0]*online.shape[1]))*100))
print("전체 주문 국가 수:", online["Country"].nunique())
print("전체 판매 물건 수:", online["Description"].nunique())
2. 질문하기
- 어떤 고객이 가장 지출을 많이 했을까?
- 상품 금액의 분포는?
- 어떤 물건의 주문량이 높을까?
- 날짜에 따른 판매 금액을 확인해보자
- 요일에 따라서 주문량이 다를까?
- 국가 별 평균 구매 금액은?
- 이 쇼핑몰 판매 물품의 주요 키워드는?
728x90
'Data Analysis > 기타 데이터' 카테고리의 다른 글
[기타 데이터] Commerce 데이터 분석 3 (EDA / 시각화 / 리뷰) (0) | 2021.10.13 |
---|---|
[기타 데이터] Commerce 데이터 분석 2 (데이터 전처리) (0) | 2021.10.12 |
[기타 데이터] LA Lakers 경기 데이터 분석 3 (EDA / 시각화 / 리뷰) (0) | 2021.10.12 |
[기타 데이터] LA Lakers 경기 데이터 분석 2 (데이터 전처리) (0) | 2021.10.08 |
[기타 데이터] LA Lakers 경기 데이터 분석 1 (데이터 확인 / 질문) (0) | 2021.10.08 |