데이터 분석 트랙 2주차 (25.03.02.) W.I.L.
[목차]
1. <TIL> 파이썬 강의 정리 및 SQL 과제 수행 중 인사이트 정리
2. <WIL> 온보딩 주차 마무리 및 기초 주차
1. 파이썬 강의 정리 및 SQL 과제 수행 중 인사이트 정리
1.1. 파이썬 정리
- 조건문 : 흔히 if문이 사용되며 조건을 만족 시 특정 코드를 실행하는 문법이다. 형태는 "if 변수 조건: 줄바꿈 출력값"이며, 조건은 흔히 bool자료형(참, 거짓)으로 사용된다. 들여쓰기(줄바꿈)을 통해 출력값이 정해지기에 들여쓰기를 통해 조건과 수행코드를 구분해야한다!
- if문은 조건을 만족하는 대상을 해당 코드를 통해 실행하는 문법이다. 이때, 조건을 만족하지 못하는 대상에도 추가적으로 실행내용을 달고자 할 때 'else'와 'elif'문이 있다.
a. else : 앞선 if문의 조건1을 만족하지 못하는 모든 대상에 수행되며
"if 변수 조건1: 들여쓰기 실행코드 들여쓰기 else: 실행코드 "
다음과 같은 형태를 갖는다.
b. elif : 조건을 다양하게 달 때 사용된다.
"if 변수 조건1: 들여쓰기 코드1 들여쓰기 elif 조건2: 들여쓰기 코드2 elif 조건3: 들여쓰기 코드3 ........ (else: 코드?)"
- 반복문 (for문) : 흔히 리스트의 요소들 하나하나에 대하여 코드를 반복 수행할 경우 사용한다.
"for 변수 in 리스트명: 들여쓰기 실행 코드"
다음과 같은 형태로 사용되며 이때 변수는 임시로 사용할 변수이기에 변수명을 임의적으로 적어도 무방하다.
또한 리스트 내의 딕셔너리들에 해당하는 키값들을 별도로 변수지정하여 코드를 반복 수행할 수 있다.
"리스트1 = [{키1 : 벨류1}, {키2 : 벨류2}, {키1 : 벨류3}, {키2 : 벨류4} .....]
for 변수1 in 리스트1:
변수2 = 변수1['키1']
변수3 = 변수1['키2']
if 키2 조건:
print(변수2, 변수3)"
- 반복문 추가 기능들 :
" for 변수 in enumerate(리스트명): 들여쓰기 수행코드 들여쓰기 print(변수, 출력값)"
[출력되는 요소들에 순서를 지정]
" for 변수 in enumerate(리스트명): 들여쓰기 수행코드 들여쓰기 if 변수 조건: 들여쓰기 break"
[순서가 매겨진 대상 대상들 중 출력할 범위 지정]
cf) "변수 == 내용" 변수와 내용이 완전히 일치한다는 의미
- 함수 : 특정한 함수를 함수명을 지정한 뒤 그 내용을 저장함을 통해 어느 구문에서 사용되어도 함수명의 내용이 수행된다.
"def 함수명(변수 or 공란): 줄바꿈 함수내용"
cf) 함수 내용에 조건식만 있을 시
※ '함수내용>조건식' 에서 "return"은 뒤의 값을 돌려준다(출력한다)는 의미이고, "print()"는 괄호안의 행동을 한다는 의미! [즉, 조건문과 행동이 동시에 함수 내용으로 쓰이면 조건문에 변수가 있으니 반드시 값이 들어가야 출력시 오류가 생기지 않고 단순히 함수명에 값만 입력하면 함수 내 행동이 출력되고, 차후 print(함수명(값))의 형태로 함수 내부의 조건문을 수행한다는 의미가 입력되어야 조건문의 값도 출력되는 것! // 조건문만 사용할 때 print없이 함수명에 값만 입력한 상태로 구동을 하면 조건에 따른 행동이 출력된다.]
- 튜플(TUPLE)과 집합(SET)
튜플[리스트와 유사하나 변화 불가! 순서가 존재, “(튜플값1, 튜플값2)”]
집합[대상을 중심으로 집합을 구현하나 중복되는 것들은 제거된다. "set(변수)"]
<집합을 통해 다음을 구할 수 있다.>
print(a_set & b_set) # 교집합
print(a_set | b_set) # 합집합 “한글 키보드 기준 shift + 역슬래쉬 “\””
print(a_set - b_set) # 차집합
- f-string : 문자열 데이터를 출력하는 함수! " f'내용' "의 형식을 가짐 for문과 같이 사용시 for을 통해 {출력할 변수}를 지정한 뒤
for 변수1 in 리스트1:
변수2 = 변수1['출력키1']
변수3 = str(변수1['출력키2']) # 만일 출력값이 숫자라면 문자로 전환해야 한다.
print(f'{출력키1} 내용 {출력키2} 내용.') # "{출력키1} 내용 {출력키2} 내용."이 리스트 내의 요소들을 대상으로 각각 수행된다."
- if문 > 삼항연산자 : 참, 거짓일 때의 값을 지정하는 함수이다. "참 일때 값1 if 조건 else 거짓일 때 값2"
- map : 리스트의 원소를 함수를 통해 조작할 때 사용한다.
"def 함수명(리스트명): 들여쓰기 함수내용 변수=map(함수명, 리스트명) print(list(변수))"
- lamda 식 : 함수를 람다를 통해 별도 지정하지 않고 매핑 수행내용을 리스트에 넣은 것! 매핑한 결과물이 나오며, 코드를 작성할 때 간결하게 할 때 사용된다. "map(lamda 변수1: ((함수 수행 내용), 리스트1))"
2. 온보딩 주차 마무리 및 기초 주차
- SQL과 파이썬의 온보딩 내용을 수강했다. 내용 자체는 지금 다시 봤을 때 크게 어렵지 않으나, '활용'이나 '심화'에 있어 아직 구글링을 통한 모르는 함수 검색, 및 추가 자료 확인 등의 작업을 거쳐야 한다. 또한 SQL관련 자격증 강의가 하나 더 남은 만큼 모르는 문제를 제외한 풀이한 코드카타의 진행속도를 조정할 필요가 있다.
- 기존 팀원들과의 팀 활동을 통해 팀활동에서 내가 할 수 있는 역량의 적정선을 정해야 한다고 생각하게 되었다. 무엇이든 열심히 하는 것은 좋지만, 팀 활동은 개인의 시간을 놓쳐가면서까지 하는 활동이 아니고 팀원들과의 협력을 통해 과제를 수행하는 활동이다. 때문에 팀 활동의 목표, 진행방향, 역할분담, 개인 역량에 따른 최대치 조정 등 정확한 기준을 정해야 한다.
- 자격증 정리
시험순서: ADsP > SQLD
난이도 : ADsP > SQLD
자격증 준비 방향 : SQLD 공부하고 준비, 코드카타로 공부하면서 ADsP 자격증 준비(통계 관련 수업시 병행)하면 된다.
1. 데이터분석준전문가(ADsP)
응시자격은 없고 총점 60점 이상 합격
시험접수(4일간) : 4.14, 7.7, 9.22
수험표 : 5.2, 7.25, 10.17
시험 : 5.17, 8.9, 11.2
합격자 : 6.13, 9.5, 11.28
난이도 : 중급 합격률 50%, 시험 자체는 어렵지 않음.
응시자 평가 : 공부 내용 자체는 어렵고 통계학지식을요구...
2. SQL 개발자[SQLD]
응시자격은 없고 합격은 총 60점 이상 합격
시험접수(4일간) 4.28, 7.21, 10.13
수험표 : 5.16, 8.8, 10.31
시험일 : 5.31, 8.23, 11.16
합격자 : 6.27, 9.19, 12.12
난이도 : 개념서와 실전문제에서 벗어나거나 변형된 문제 없음.
응시자 평가 : 컴활 1급 필기 합격능력만 있으면 어렵지 않다.
3. 빅데이터 분석기사
필기 8월4일부터 원서접수
실기 10월27일 부터 원서접수
수험표 필기 8.22 실기 11.14
시험 필기 9.6 실기 11.29
합격자 필기 9.26 실기 12.19
필기는 난이도가 높다! 합격률 40~50%
실기 난이도가 중간 합격률 50~60%
응시자 평가 : 필기를 ADSP 직후 1개월 추가 공부하고 시험을 볼 때 10점 이상 낮은 점수를 받는다. 점수차이보다 체감 난도는 훨씬 크다.
※ 기초주차의 목표
A. SQL 코드카타 및 파이썬 코드카타에 대하여 각각 7문제, 5문제씩(모르는 문제 제외)풀고 첫주차 속도 확인에 들어간다.
B. SQLD, 파이썬 강의 수강 및 팀 활동을 통한 팀 성향 확인
C. 민방위 훈련으로 인한 일정 확인 및 도메인 관련 지식 쌓기 준비