TIL(Today I Learned)
1️⃣데이터 분석 팀 과제
분석 목표 및 방향
- Outcomes 컬럼 중 특정 컬럼을 높은 심각도로 지정하고 심각한 부작용의 여부를 True/False로 반환하는 컬럼을 생성하여 산업군 별 부작용의 비율을 확인한다.
- 산업군 별 신고 수가 높은 증상의 비율을 시각화하여 주요 증상을 한 눈에 확인할 수 있도록 한다.
- 연령대 별 주요 증상을 비율로 시각화한다.
- 깊게 들어가 브랜드 별 신고 건수와 심각 부작용의 비율을 확인한다.
목표에 따른 시각화 전략
- 산업군 별 심각 부작용 비율 그래프 → 이중막대 bar chart
- 산업군 별 증상 비율 → stacked bar chart
- 연령대 별 주요 증상 비율 → heatmap
- 브랜드 별 신고 건수에 비례한 심각 부작용 비율 → scatter plot
2️⃣Python 알고리즘 주요 문제
문제1
- 문제 설명: 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 | 프로그래머스 스쿨
- 제한 사항:
- lottos는 길이 6인 정수 배열입니다.
- lottos의 모든 원소는 0 이상 45 이하인 정수입니다.
- 0은 알아볼 수 없는 숫자를 의미합니다.
- 0을 제외한 다른 숫자들은 lottos에 2개 이상 담겨있지 않습니다.
- lottos의 원소들은 정렬되어 있지 않을 수도 있습니다.
- win_nums은 길이 6인 정수 배열입니다.
- win_nums의 모든 원소는 1 이상 45 이하인 정수입니다.
- win_nums에는 같은 숫자가 2개 이상 담겨있지 않습니다.
- win_nums의 원소들은 정렬되어 있지 않을 수도 있습니다.
- 입출력 예

- 문제 접근: 수를 담고 있는 lottos를 당첨 번호 배열인 win_nums와 비교하여 만약 겹치는 수가 있다면 변수를 증가시키고, 순위의 함수를 통해 결과를 출력하면 될 것이다.
- 코드:
def solution(lottos, win_nums):
count = lottos.count(0)
match = 0
for i in lottos:
if i in win_nums:
match += 1
def rank(num):
if num >= 2:
return 7 - num
else:
return 6
return [rank(match + count), rank(match)]
💡 느낀점
데이터를 시각화하며 행 열을 구분하여 데이터를 처리하는 부분에서 어려움을 느꼈고, 머릿 속으로 생각한 그래프를 실제로 구현하는 과정이 막막하게 느껴졌다. 간단한 그래프부터 시작하여 직접 추출 전처리 시각화 하는 과정을 반복 숙달해야 될 것 같다. 흥미가 있을만한 데이터를 이런 과정을 거쳐 학습한다면 더욱 좋을 것 같다.
'데이터 분석 프로젝트' 카테고리의 다른 글
| Chapter.3 데이터 분석 팀 과제 (6) (0) | 2026.04.09 |
|---|---|
| Chapter.3 데이터 분석 팀 과제 (5) (0) | 2026.04.08 |
| Chapter.3 데이터 분석 팀 과제 (4) (0) | 2026.04.07 |
| Chapter.3 데이터 분석 팀 과제 (2) (0) | 2026.04.03 |
| Chapter.3 데이터 분석 팀 과제(1) (1) | 2026.04.02 |