728x90

❤️ 배운 것

 

1. 시각화를 위한 분석 개요

 

이상치 경계 (아래 경계): Q1 - 1.5 * IQR = 150 - 1.5 * 30 = 150 - 45 = 105
이상치 경계 (위 경계): Q3 + 1.5 * IQR = 180 + 1.5 * 30 = 180 + 45 = 225

IQR = Q3 - Q1

 

시각화 상황별 예시
비교 분석: 막대 차트, 라인차트
구성 분석: 파이차트, 히트맵
관계 분석: 스캐터 차트
분포 분석: 히스토그램, 박스플랏, 바이올린 플랏

데이터의 종류
연속형 데이터: 숫자, ex) 키, 몸무게, 판매량, 매출
범주형 데이터: 범주, ex) 혈액형, mbti, 성별, 사는 지역

  1. A사가 판매하는 10개의 제품의 월별 판매량 비교
    • 비교분석
      • 막대(x 범주형(월, 제품 명), y : 연속형(판매량))
      • 라인(x 범주형(월), y: 연속형(제품에 따른 판매량))
  2. 인구 밀도와 평균 수명 분석
    • 관계 분석
      • 스캐터(x: 연속형, y: 연속형)
  3. 학생들의 시험 점수 분석
    • 분포 분석
      • 히스토그램(x or y: 연속형(학생 시험점수))
      • 바이올린(xor y: 연속형(학생 시험점수))
  4. 대륙(아시아, 유럽)의 연간 GDP 분석
    • 관계 분석
      • 스캐터
    • 비교 분석
      • 막대
      • 라인
    • 구성 분석
      • 히트맵(비교)
    • 지도

2. chart visualization

  • matplotlib
  • seaborn
  • plotly
# 1. '최종주문요일'에 대한 횟수 시각화(마지막으로 주문한 요일의 횟수)
import seaborn as sns
cf_order_day = df['최종주문요일'].value_counts()
ax = sns.barplot(x=cf_order_day.index, y=cf_order_day.values)
ax.bar_label(ax.containers[0])

# 2. 성별에 따른 '최종주문요일'에 대한 횟수 시각화(마지막으로 주문한 요일의 횟수)
q1 = df[['성별','최종주문요일','ID']].groupby(['성별', '최종주문요일'], as_index = False).count()
q1.rename(columns = {'ID' : 'user_count'}, inplace = True)
sns.barplot(data=q1, x="최종주문요일", y="user_count", hue="성별")

# 3. '최종주문일자'와 '가입월' 데이터 분포 시각화
import plotly.express as px
fig = px.histogram(df, x="최종주문일자")
fig.show()
fig = px.histogram(df, x="가입월")
fig.show()

# 4. 성별에 따른 '최종주문월'에 대한 '총순수이익' 시각화
sns.lineplot(data=df, x="최종주문월", y="총순수이익", hue="성별")

 

💛 배운점/느낀점

- 시각화 이전 여러가지 분석 종류를 통해 가진 데이터를 어떤 방식으로 표현하는 것이 적합할 지 분석한 후 진행해야 한다는 것을 느꼈다.

- 내일은 멘토링데이라서 빅테크기업의 현직자님에게 상담을 받기로 했다. 그동안 혼자서 해결이 안되고 궁금했던 내용을 많이 물어보고 싶다.

반응형