인기글
-
Statistics
통계 실습 : t-검정 (t-test)이란 무엇인가? (with 파이썬)
안녕하세요. 데이터 분석에 필요한 통계를 주제로도 포스팅을 해보려 합니다. 첫 번째 주제는 데이터 분석 결과에 대한 유의성을 판단하기 위한 t-검정(t-test)에 대해서 이야기 해보도록 하겠습니다. 1. t-test을 해야 하는 이유? t-test은 2개 집단의 평균 값의 차이가 통계적으로 같은 집단인지, 다른 집단인지 비교하기 위해 사용하는 검정 방법입니다. 두 집단의 평균을 비교하는 분석 방법은 t-test 외에도 z-test가 있는데, z-test는 모집단의 분산을 알고 있는 경우에 사용됩니다. 하지만 우리는 일상에서 모집단의 분산을 알고 있는 경우는 거의 없기 때문에 t-test를 주로 사용합니다. 2. t-test의 종류 t-test는 아래와 같이 3가지 방법으로 구분 됩니다. 구분 정의 일표..
-
SQL
SQL 고급 : 3개 이상의 테이블을 JOIN 하기
현실에서 데이터 분석을 하다 보면 경우에 따라서 3~4개의 테이블을 조인해야 하는 상황이 생길 수 있습니다. 하지만 JOIN과 관련된 기본 문법을 익히거나 일반적인 SQL 문제 풀이에서 3~4개 테이블을 조인해야 하는 경우를 찾기가 쉽지 않은데요. 다행스럽게도 최근 새롭게 풀어본 SQL 문제를 통해 어떻게 3개 이상의 테이블을 JOIN할 수 있는지 보여드리려고 합니다. 역대 올림픽 경기와 관련된 데이터가 들어가 있는 테이블을 가지고 문제를 풀어볼텐데요. 우리가 해결해야 할 문제는 복수 국적으로 메달을 수상한 선수를 찾는 문제입니다. 예를 들면 쇼트트랙의 안현수(빅토르 안) 선수와 같이 올림픽에서 한국 국적과 러시아 국적으로 모두 메달을 딴 선수를 찾아야 한다는 것이죠. 문제 내용에 대해서는 저작권 이슈가..
-
SQL
SQL 실무 : 이커머스 주문 데이터 분석하기
오늘은 가상의 이커머스 데이터를 활용해 여러 테이블을 join해보면서 이커머스 주문 데이터를 분석해보고자 합니다. 살펴볼 데이터는 아래와 같은 구조도를 가집니다. 주문정보가 들어가 있는 orders 테이블을 기준으로 주문ID, 고객ID, 사원ID 등을 join해 필요한 정보를 가지고 올 수 있는 다양한 테이블들이 있습니다. ■ e-commerce 데이터 스키마 그럼 해당 테이블 정보들을 통해 몇가지 이커머스 주문 데이터 분석을 해보도록 하겠습니다. 1. 상품(product) 카테고리별로 상품 수와 평균 가격대가 궁금한 경우 SELECT category, COUNT(*) AS quantity, AVG(list_price) AS avg_price FROM products GROUP BY category --..
-
Diary
2021년 회고
퇴사 2021년을 되돌아 봤을 때 가장 잘한 일을 뽑으라면 아마도 '퇴사'를 결정하고 새로운 공부를 시작한 것이다. 사실 퇴사까지 결정이 쉬운 것만은 아니었다. 재직기간 5년 6개월, 안정적인 대기업이었고 회사에서도 나를 좋게 평가해주시는 분들이 많았다. 그리고 결혼 후 얼마 되지 않았던 상황이라 나 혼자 좋다고 퇴사를 결정할 수 있었던 것도 아니었다. 하지만 퇴사를 하게 된 결정적인 이유는 미래에 대한 고민 때문이었다. 퇴사 직전에는 약 3년 넘게 데이터 분석과 무관한 업무(CSR, HRD)를 하고 있었는데, 업무적으로나 회사 차원에서 동기부여가 되는 것이 전혀 없었다. 그래서 장기적으로 봤을 때 커리어에서 좀 더 내 가치를 올릴 수 있는 일이 무엇일까 고민을 하게 되었고, 1~2년차 때 했었던 데이터..
-
SQL
SQL 고급 : PIVOT TABLE
아래의 왼쪽 그림과 같이 어느 백화점의 지역별 점포 리스트 현황 데이터가 있다고 가정해보겠습니다. 지역별로 점포 현황을 깔끔하게 정리해보려고 하는데요. 아래 오른쪽 그림과 같이 나타내주면 조금 더 직관적으로 지역별 점포가 몇개가 있고 어디에 있는지 이해하기 쉬울 것입니다. 이렇게 세로 기반의 테이블을 가로 기반의 테이블로 변경해주는 것을 Pivot 이라고 얘기 합니다. 오늘은 SQL 쿼리를 이용하여 Pivot Table을 만드는 방법에 대해 알아보겠습니다. 활용할 데이터는 위에 소개했던 데이터와 동일합니다. 우선 윈도우 함수인 순위 함수의 ROW_NUMBER()를 이용해서 먼저 각 지역별로 점포수가 몇 개인지 나열해보도록 하겠습니다. SELECT region, store, ROW_NUMBER() OVER..
리스트 예시: 게시물이 존재할 경우 3건을 노출합니다.