2025 내일배움캠프 QAQC_2기

2025 내일배움캠프 QAQC_2기 본캠프 17일차

mingdoremi 2025. 6. 4. 20:59

안녕하세요! 오늘은 본캠프 17일차입니다!

어제는 푹 쉬었는데도 피곤하네요 쿄쿄

오늘은 아침에 코드카타한 것 부터 적어볼게요!

 

x만큼 간격이 있는 n개의 숫자 - Python

 

Q. 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.

 

def solution(x, n):
    answer = []
    for i in range(1, n+1):
        answer.append(x * i)
    return answer

 

★오답노트★

1. x와 n의 상관관계를 수식화하지 못하였다.
2. append 함수를 사용하지 못하였다.
3. x씩 증가하는 함수가 i * n이라고 생각하지 못하였다.

 

경기도에 위치한 식품창고 목록 출력하기 - SQL

 

Q. 경기도에 위치한 창고의 ID, 이름, 주소, 냉동시설 여부를 조회하는 SQL문을 작성해주세요. 이때 냉동시설 여부가 NULL인 경우, 'N'으로 출력시켜 주시고 결과는 창고 ID를 기준으로 오름차순 정렬해주세요.

 

ifnull

SELECT warehouse_id, 
       warehouse_name,
       address, 
       ifnull(freezer_yn,'N') as freezer_yn
from food_warehouse
where warehouse_name like '%경기%'
order by warehouse_id

 

★오답노트★

1. 냉동시설 여부가 NULL인 경우, 'N'으로 출력하는 ifnull 함수를 생각하지 못하였다.
2. %경기%에 위치한 창고를 찾는다고 문제를 제대로 읽지 못해 답을 틀렸었다.

if

SELECT warehouse_id, 
       warehouse_name,
       address, 
       if (freezer_yn is null, 'N', freezer_yn) as freezer_yn
from food_warehouse
where warehouse_name like '%경기%'
order by warehouse_id

coalesce

SELECT warehouse_id, 
       warehouse_name,
       address, 
       coalesce(freezer_yn, 'N') as freezer_yn
from food_warehouse
where warehouse_name like '%경기%'
order by warehouse_id
-- ifnull 예시
SELECT ifnull(null, '대체값') -- 결과 : '대체값'
SELECT ifnull('값', '대체값') -- 결과 : '값'

-- coalesce 예시
SELECT coalesce(null, null, '첫번째 null이 아닌 다른 값', '다른 값') -- 결과 : '첫번째 null이 아닌 값'
SELECT coalesce(null, null, '값', '대체값') -- 결과 : '값'
⭐️ colesce : ifnull처럼 null값을 처리할 때 사용!
⭐️ ifnull은 1개 값만 바꿔주는데, colesce는 여러개 가능!

 

코드카타도 날이 갈수록 어려워지고 있네요 ..ㅎ.ㅎ

 

오늘은 저번에 풀었던 개인과제와 저번 시간에 들었던 튜터님 세션도 다시 한번 복습했습니다!

 

01. 데이터 시각화의 이해

 

데이터 시각화란 무엇인가

  • 탐색적 데이터 분석(EDA)에서의 역할
  • 탐색적 데이터 분석은 **"데이터 탐정 작업"**이라고 생각하면 됩니다. 새로운 데이터셋을 받았을 때, 본격적인 분석이나 모델링을 하기 전에 데이터가 어떻게 생겼는지, 어떤 특징이 있는지, 어떤 문제가 있는지를 파악하는 과정입니다.
    • EDA(Exploratory Data Analysis)의 주요 목표:
      • 📊 데이터의 구조와 특성 파악: "이 데이터는 무엇을 담고 있나?"
      • 🔍 숨겨진 패턴과 관계 발견: "변수들 사이에 어떤 관련성이 있나?"
      • ⚠️ 데이터 품질 문제 탐지: "결측치, 이상치, 오류는 없나?"
      • 💡 분석 방향성 설정: "어떤 분석을 해야 할까?"
    • EDA에서 시각화의 역할:
      • 데이터의 분포를 파악 (히스토그램, 박스플롯)
      • 변수 간의 관계를 발견 (산점도, 상관관계 히트맵)
      • 이상치(Outlier)를 탐지
      • 결측치 패턴을 확인
      • 가설 생성과 검증을 지원
    • EDA 과정의 예시
      • 만약 학급 학생들의 시험 성적 데이터를 분석한다면: 
        1. 첫 번째 질문: "성적이 어떻게 분포되어 있을까?" → 히스토그램으로 확인
        2. 두 번째 질문: "수학 성적과 과학 성적 사이에 관련이 있을까?" → 산점도로 확인
        3. 세 번째 질문: "특별히 점수가 높거나 낮은 학생이 있을까?" → 박스플롯으로 이상치 탐지
        4. 네 번째 질문: "일부 학생의 성적이 누락되어 있나?" → 결측치 패턴 확인
        이처럼 EDA는 데이터와 친해지는 과정이며, 시각화는 이 과정에서 가장 강력한 도구입니다.

02. Python 시각화 라이브러리 소개

저수준 (Low-level): Matplotlib

  • 세밀한 제어 가능, 모든 요소를 직접 조정
  • 학습 곡선이 높은 편
  • 다른 라이브러리들의 기반이 되는 라이브러리

📊 중수준 (Mid-level): Seaborn

  • 통계 시각화에 특화
  • Matplotlib을 기반으로 하지만 더 간단한 문법
  • 아름다운 기본 스타일

🚀 고수준 (High-level): Plotly, Altair, Bokeh

  • 인터랙티브 시각화 지원
  • 웹 기반 시각화
  • 복잡한 시각화를 간단한 코드로 구현

Matplotlib

  • 가장 기본적이고 널리 사용되는 시각화 라이브러리
  • MATLAB과 유사한 인터페이스 제공
  • 정적(static) 시각화에 특화

Seaborn

  • 통계적 시각화에 최적화
  • 판다스 DataFrame과 잘 연동
  • 아름다운 기본 테마와 색상 팔레트

Plotly

  • 인터랙티브 시각화의 강자
  • 웹 브라우저에서 확대/축소, 호버 등 상호작용 가능
  • 대시보드 제작에도 활용

03. 좋은 시각화란?

  • 명확성(Clarity)
    • 그래프를 보는 순간 무엇을 말하고자 하는지 즉시 파악 가능
    • 축 라벨, 단위, 범례 등을 정확히 기재
  • 단순성(Simplicity)
    • 불필요한 색상, 3D, 그림자 효과 줄이기
    • 한 차트에는 2~4개 정도의 비교 항목이 적당
  • 목적성(Purpose)
    • “이 그래프가 어떤 의사결정을 돕는가?”를 확실히 인지
    • 예) “월별 불량률 증가 시점을 알려주어, 즉각 개선 조치”
  • 일관성(Consistency)
    • 대시보드 전체적으로 같은 차트 스타일, 색상 체계를 유지
    • 같은 지표는 동일 색상·축 범위를 사용해 혼란 방지

 

오늘도 수고하셨습니다!!! 내일만 또 열심히 하면 모레는 쉬네요!! 내일 뵐게요 파이팅‼️