[ 데이터 분석 입문 1 ] ( 데이터 전처리 & 시각화 - 1주차)
- 강의 목표
- 데이터 분석가란?
- Pandas의 기초
- Series 와 Data Frame
- Indexing 과 Filtering
- 데이터 시각화
- [ 실습 ] 우리 가게 팁 분석하기
[ 강의 목표 ]
- 강의 내용
- pandas를 활용하여 간단하게 데이터를 전처리 하는 방법을 알 수 있다.
- Matplotlib을 활용하여 데이터를 시각화 하는 방법을 알 수 있다.
- 단순히 스킬 셋 뿐만 아니라 데이터 분석가에 대해 진지하게 고민 해볼 수 있다.
[ 데이터 분석가란? ]

- 비즈니스 분석가
- 주로 비지니스 문제를 이해하고 해결하기 위해 데이터를 분석한다.
- 주요 업무 프로세스 개선 , 비즈니스 모델 분석 , 요구 사항 관리 등 수행
- 프로덕트 분석가
- 제품이나 서비스의 성과를 평가하고 개선하기 위해 데이터를 분석
- 사용자 행동 및 제품 성능과 관련된 데이터를 분석하여 제품 개선에 기여한다.
- 데이터 분석가
- 주로 정형 데이터를 분석하여 기업의 의사결정을 지원한다.
- 데이터 베이스 , 스프레드 시트 등에서 데이터를 추출하고 , 데이터를 정제하여 보고서 및 시각화를 생성한다.
- BI 분석가
- 기업의 비즈니스 인텔리전스 플랫폼과 도구를 사용하여 데이터를 시각화 하고 보고서를 작성합니다.
- 데이터 사이언티스트
- 주로 데이터를 활용하여 예측, 패턴 발견 , 복잡한 분석을 수행하여 비즈니스 문제를 해결한다.
[ Pandas의 기초 ]
- Pandas 라이브러리
- 데이터 분석을 위한 핵심 Python 라이브러리이다 - 엑셀을 쓰지 않고 Pandas를 배우는 이유
- 대용량 데이터 처리의 압도적 속도
- 분석 과정의 자동화 와 재현성
- 강력한 데이터 정제
- 다양한 데이터 소스와의 연결성
[ Series & DataFrame ]
- 데이터 프레임(DataFrame)
- 데이터 프레임이란?
- 행과 열이 있는 2차원 표 형태
- 데이터 프레임이란?
- 시리즈(Series)
- 시리즈란?
- 데이터가 일렬로 늘어선 1차원 형태
- 시리즈란?
[ Indexing & Filtering ]
- loc vs iloc
- loc[행이름, 열이름]: Label(이름) 기준. "사람이 부르는 이름표"
- iloc[행번호, 열번호]: Integer(정수) 기준. "컴퓨터가 세는 순서"
[ 실습 - 우리 가게 팁 분석하기 ]
- 시나리오: 여러분은 레스토랑의 매니저입니다. "언제 손님이 가장 많은지", "어떤 손님이 팁을 후하게 주는지" 데이터를 통해
알아봅시다.
- 데이터 준비하기 (Seaborn 활용) 별도의 파일 다운로드 없이, 연습용 데이터를 바로 불러옵니다.
import seaborn as sns
df = sns.load_dataset("tips")
- 데이터 훑어보기
df.head()
df.info() - 결측치와 데이터 타입 확인
df.info()
type(df) - 통계 요약 (평균 팁 금액은 얼마일까?)
df.describe()
- 데이터 훑어보기
- 데이터 필터링
- 담배를 피우지 않는 손님만 따로 필터
no_smoke = df[df['smoker'] == 'No']no_smoke - 저녁 시간 이면서 팁을 5달러 이상 준 테이블은?
time_tip = df[(df['tip']>5) & (df['time']=='Dinner')]
time_tip
- 담배를 피우지 않는 손님만 따로 필터
- 파생 변수 만들기
- 팁 비율(%) 컬럼 만들기
df['비율 %']= (df['tip']/df['total_bill'])*100df
- 팁 비율(%) 컬럼 만들기
[ 코드 카타 문제 풀이 ] 16~20
더보기
[ 문제 16 ]
함수 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
[ 문제 17 ]
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
def solution(n):
result = [int(i) for i in str(n)[::-1]]
return result
[ 문제 18 ]
문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.
def solution(s):
result = int(s)
return result
[ 문제 19 ]
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.
def solution(n):
x = int(n**0.5)
if x * x == n:
return (x+1)**2
else :
return -1
[ 문제 20 ]
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다
def solution(n):
a = int(''.join(sorted(str(n),reverse=True)))
return a
[ 알고리즘 파이썬 ] ( 반복문 & 함수 )
- 131~ 160번 ( 반복문 )
- 201 ~ 230 ( 함수 )
풀기는 풀었으나 풀이는 노트에 정리
'내일배움캠프(QA,QC_5기)' 카테고리의 다른 글
| [내일배움캠프] QA/QC_5기 ( 15일차 ) (2) | 2026.03.27 |
|---|---|
| [내일배움캠프] QA/QC_5기 ( 14일차 ) (0) | 2026.03.26 |
| [내일배움캠프] QA/QC_5기 ( 12일차 ) (0) | 2026.03.24 |
| [내일배움캠프] QA/QC_5기 ( 11일차 ) (0) | 2026.03.23 |
| [내일배움캠프] QA/QC_5기 ( 10일차 ) (0) | 2026.03.20 |