Today I Learn
- 튜플/리스트
a = ['사과','배','바나나'] # 리스트
a[1] = '감' # 변경 가능
print(a)
b = ('사과','배','바나나') # 튜플
# b[1] = '감' # 변경 불가
print(b)
people = [{'name':'bob','age':27},{'name':'john','age':30}] # 가변형 딕셔너리
people2 = [('bob',27),('john',30)] # 불변형 (튜플형) 딕셔너리 거의 사용x
c = [1,2,3,5,4,2,1,6,7,3,8,4]
c_set = set(c) # 집합 (중복 제거)
print(c_set)
d = ['사과','감','배','수박','딸기']
e = ['바나나','사과','귤','딸기','참외']
d_set = set(d)
e_set = set(e)
print(d_set & e_set) # 교집합
print(d_set | e_set) # 합집합
print(d_set - e_set) # 차집합
- f-string
scores = [
{'name':'영수','score':70},
{'name':'영희','score':65},
{'name':'기찬','score':75},
{'name':'희수','score':23},
{'name':'서경','score':99},
{'name':'미주','score':100},
{'name':'병태','score':32}
]
for s in scores:
name = s['name']
score = s['score']
print(name+'의 점수는 '+str(score)+'점 입니다.')
print(f'{name}의 점수는 {score}점입니다.') # f-string의 활용
- 예외처리
people = [
{'name': 'bob', 'age': 20},
{'name': 'carry', 'age': 38},
{'name': 'john', 'age': 7},
{'name': 'smith', 'age': 17},
{'name': 'ben', 'age': 27},
{'name': 'bobby'},
{'name': 'red', 'age': 32},
{'name': 'queen', 'age': 25}
]
for person in people:
try:
if person['age'] > 20:
print(person['name'])
except:
print(person['name'],'에러입니다')
# 코드 실행 중 에러날 때 stop 하지 않고 계속 실행할 수 있게끔
# bobby의 age가 없어서 에러날 때 확인 가능
# 웬만해선 안사용하는게 좋음
- 파일 불러오기
- main_func.py
def say_hi():
print('안녕!')
def say_hi_to(name):
print(f'{name}님 안녕하세요')
- main_text.py
from main_func import *
say_hi()
say_hi_to('코코')
- 한줄로 쓰기
- if 문
num = 3
result = ('짝수' if num % 2 == 0 else '홀수')
print(f'{num}은 {result}입니다')
- for 문
a_list = [1,3,2,5,1,2]
b_list = []
for a in a_list:
b_list.append(a*2) # 평소대로
b_short_list = [a*2 for a in a_list] # 한줄로 쓰기
print(b_list)
print(b_short_list)
- map(), filter(), lambda()
people = [
{'name': 'bob', 'age': 20},
{'name': 'carry', 'age': 38},
{'name': 'john', 'age': 7},
{'name': 'smith', 'age': 17},
{'name': 'ben', 'age': 27},
{'name': 'bobby', 'age': 57},
{'name': 'red', 'age': 32},
{'name': 'queen', 'age': 25}
]
def check_adult(person):
return ('성인' if person['age'] > 20 else '청소년')
# map 활용
# map(function, iterable)
result = map(check_adult, people) # people 하나하나를 check_adult 함수에 넣어라
# 함수 대신 lambda 활용
# lambda 인자: 표현식
result_lambda = map(lambda x: ('성인' if x['age'] > 20 else '청소년'), people)
# filter 활용
result_filter = filter(lambda x: x['age'] > 20, people)
print(list(result))
print(list(result_lambda))
print(list(result_filter))
- 함수 심화
def cal(a,b):
return a+2*b
result = cal(b=2, a=1) # 지정하면 순서 바뀌어도 상관x
# 인자 무제한으로 넣어줄 수 있음
def call(*args):
for name in args:
print(f'{name} 밥먹어라')
call('영수','철수','짱구')
- 클래스
class Monster():
hp = 100
alive = True
def damage(self, attack):
self.hp -= attack
if self.hp < 0:
self.alive = False
def status_check(self):
if self.alive:
print('살았다')
else:
print('죽었다')
m1 = Monster() # 인스턴스
m1.damage(150)
m1.status_check()
m2 = Monster()
m2.damage(50)
m2.status_check()
- JD 수집
JD #1 오뚜기 2025년 하반기 대졸신입사원 공개채용
- 직무명: 데이터분석
- 출처 링크: https://jasoseol.com/recruit/100524
- 주요 업무 요약: 데이터분석 과제 기획 및 프로젝트 진행/ 데이터 전략 수립 및 필요 데이터 자산화/ 내부 데이터 품질 관리 및 외부 데이터 수집/ 도메인의 데이터 분석과 프로젝트 경험을 바탕으로 데이터 사이언티스트로 성장
- 요구 역량:
- 사용 툴: Python 활용 프로그래밍 역량(데이터 수집, 처리, 분석), SQL, Tableau, Streamlit, Airflow
- 경력/포트폴리오: 데이터분석 관련 자격증 소지자 (빅분기, ADsp, SQLD 등), 데이터 활용을 통한 비즈니스 프로세스 개선 역량 보유자, AI 활용 능력 우수자
JD #2 미래에셋생명 2025년 하반기 신입채용
- 직무명: DX(데이터분석/생성형 AI)
- 출처 링크: https://jasoseol.com/recruit/100581
- 주요 업무 요약: 생성형 AI 기반 보험업무 자동화 어시스턴트/에이전트 기획 및 개발, 데이터 정제 및 LLM 파인튜닝/프롬프트 엔지니어링, 데이터 분석 기반 ML/DL 모델 기획 및 개발, 보험 비즈니스 프로세스 분석 및 AI 적용기회 발굴
- 요구 역량:
- 사용 툴: 생성형 AI/ML/DL 주요 프레임워크
- 경력/포트폴리오: 생성형 AI 혹은 데이터분석관련 자격증 보유, 주요 프레임워크 활용 경험 또는 관련 프로젝트 수행 경험
JD #3 LG 유플러스 2025 하반기 신입채용
- 직무명: People Analytics
- 출처 링크: https://jasoseol.com/recruit/100312
- 주요 업무 요약: HR 데이터 분석/수집/정제 및 인사이트 도출, 데이터 분석 결과를 의사결정에 활용할 수 있도록 시각화, 데이터 기반의 조직 진단 및 문제 해결 지원, HR 시스템 및 분석 도구 개발/고도화
- 요구 역량:
- 사용 툴: 통계 분석 프로그램(Python, R, SQL, SPSS, SAS 등) 및 프로그래밍 언어, 시각화 Tool(Tableau, Power BI 등)
- 경력/포트폴리오: 데이터 분석 및 통계적 사고 능력, 데이터 분석 경험
공통점 & 차이점 분석
- 공통적으로 요구되는 핵심 역량은 무엇인가요?
- python 활용 및 프로그래밍 역량
- SQL, Tableau 등 통계와 시각화 Tool
- 각 JD마다 어떤 차별점이 있었나요?
- 1번의 경우, 기본적인 데이터분석에 더 초점이 맞춰져있음
- 2번의 경우, 생성형 AI나 머신러닝 등 조금 더 전문적인 역량 요구
- 3번의 경우는 일반적인 데이터분석보다는 HR에 더 초점이 맞춰져 있음
나의 목표 정리
- 가장 흥미를 느낀 도메인 분야?
- 금융, 회계 데이터
- 조사후, 내가 아직 부족하다고 느낀 역량?
- 시각화 Tool 다루는 역량, 머신러닝이나 생성형 AI 프레임워크 경험
- 사전캠프에서 꼭 성장시키고 싶은 능력?
- python 활용 능력 (상), 통계 분석 프로그램 (SQL, R 등) 활용 능력 (중상), 생성형 AI와 머신러닝 프레임워크 활용 능력(중) -> 최종 캠프까지 포함
- Pycharm 다운로드 및 인터프리터 연결
- 문제점
- pycharm 2020 버전이 python 3.14 버전과 호환이 안되고, python 인터프리터 다운받을 때 설치 경로 안에 한글이 들어가면 문제가 생김
- 해결방안
- pycharm 2025 버전으로 다시 다운받고, python 3.14 다운받을 때 자동 다운이 아니라 custom으로 설정해서 설치 경로 직접 수정함 (program files에 다운받으려 했는데 이것도 접근성에 문제가 생겨서 로컬디스크에 다운받음)
- tomorrow's plan
- 통계학 기초 강의 챕터 1~3
- 밀린 아티클
'[데이터분석] 부트캠프 TIL' 카테고리의 다른 글
| 20251215 TIL (1) | 2025.12.15 |
|---|---|
| 20251212 TIL (0) | 2025.12.12 |
| 20251209 TIL (1) | 2025.12.09 |
| 20251208 TIL (0) | 2025.12.08 |
| 20251204 TIL (0) | 2025.12.04 |