-
통계 1/코드카타[스파르타코딩클럽]데이터분석 과정/TIL,WIL 2024. 1. 19. 20:17
통계
강의를 듣는데, 3학년 때 전공 수업을 들으면서 배웠던 내용이 생각났다
강의에서 기본적인 개념은 넘어가는 것 같아서, 이해하기 어려워서 전공책의 내용과 강의의 내용을 정리하고자 한다.
통계는 관측된 데이터의 집합이기 때문에 과거에 일어난 것에 관한 기술을 말한다.
확률적 (Stochastic)은 실제로 일이 일어나기 전까지를 의미하며, 결정이 되지 않은 것을 말한다.
분포는 다양한 수치로 나타나는 것을 말하며, 확률적 움직임을 체계적으로 수식화하는 것이다.
분포가 생기는 이유는 수치들이 결정된 이면에 어떤 불확실성이 움직이기 때문이다.
확률은 미래에 일어날 것에 관해 기술하는 것을 말하며, 고전적 확률, 통계적 확률, 수리적 확률이 있고, 불확실성을 계량하는 데 활용된다.
평균은 쉽게 생각하면 데이터 합계를 데이터 총 개수로 나눈 것이다. 데이터는 수치적으로 널리 퍼져있지만, 널리 퍼져 있는 것 중에 하나의 수를 모든 데이터에서 데이터 집합을 가장 잘 나타내는 단일 숫자 혹은 값을 뽑은 것이다.
평균에는 산술평균, 기하평균, 조화평균, 로그 평균, 절삭 평균, 중앙값, 최빈값이 사용된다.
SQL 코드카타
강원도에 위치한 생산공장 목록 출력하기
Food_factory 테이블에서 강원도에 위치한 식품공장의 공장 ID, 공장 이름, 주소를 조회하는 SQL문을 작성
공장 ID를 기준으로 오름차순 정렬- 주소에 강원이 포함된 것 : address like '강원%'
- 공장 id를 기준으로 오름차순 order by asc
SELECT FACTORY_ID, FACTORY_NAME, ADDRESS FROM FOOD_FACTORY WHERE ADDRESS LIKE '강원%' ORDER BY FACTORY_ID ASC;
Project employees 1
experience years의 평균을 구하고 반올림하기- 2개의 테이블 조인 join
- 중복되는 projdect_id : group by
- experience years의 평균을 구하고 반올림하기 : round(avg(experience_years),2)
SELECT p.project_id, round(avg(e.experience_years),2) average_years FROM Project p join Employee e on p.employee_id = e.employee_id group by p.project_id order by p.project_id;
Weather observation station 11
도시의 이름이 모음으로 시작하지 않거나 끝나지 않는다
중복되지 않는다.- ~포함하지 않는다 : not in
- 시작 : left
- 끝 : right
- 중복 : distinct
SELECT DISTINCT CITY FROM STATION WHERE LEFT(CITY,1) NOT IN ('a','e','i','o','u') OR RIGHT(CITY,1) NOT IN ('a','e','i','o','u')
파이썬 코드카타
부족한 금액 계산하기
- 1번째 이용료는 100, 2번째 이용료는 200으로 인상 for문 사용
- 놀이기구를 count번 탐 (1, count+1)
- 금액이 부족하지 않으면 0 : if문 사용 answer < money
- 부족한 만큼 나오기 answer - money
def solution(price, money, count): answer = 0 for i in range(1, count+1): answer += price * i #2번째면 200 if answer < money: #금액이 부족하지 않다면 answer = 0 else: answer = answer - money #부족한만큼 나오기 return answer
행렬의 덧셈
- []안에 있는 수 뽑아내기 : for문 사용
- arr1, arr2 각각 i, j 사용
- arr1하고 arr2 더함 : +=
def solution(arr1, arr2): for i in range(len(arr1)): for j in range(len(arr1[0])): arr1[i][j] += arr2[i][j] return arr1
문자열 다루기 기본
- 문자열 길이가 4 혹은 6 : len = 4 or len = 6
- 모두 숫자 = True
- 알파벳 있으면 = False
- 문자열 안에 문자 있는지 확인 for문 사용
- 대소문자 i >= 'a' and i <= 'z' i >='A' and i <= 'Z'
def solution(s): if len(s) == 4 or len(s) ==6: answer = True else: answer = False for i in s: if(i >= 'a' and i <= 'z') or (i >='A'and i<='Z'): answer = False return answer
'[스파르타코딩클럽]데이터분석 과정 > TIL,WIL' 카테고리의 다른 글
통계 2/코드카타 (0) 2024.01.22 KDT 실무형 데이터 분석가 양성과정 5주차 (0) 2024.01.19 [기초프로젝트] Day 6 (0) 2024.01.18 [기초프로젝트] KPT (0) 2024.01.18 [기초프로젝트] Day 5 (0) 2024.01.17