no image
[iMOD(3)] 현상의 파악
Data cleaning을 일단 해두고, 이제야 문제를 해결하기 위한 현상 파악 단계로 돌아간다. 2023.06.29 - [Project] - 나의 첫 데이터 분석기 영종1동이 주거밀집지역인가보다.. (출처: KOSIS, 지도 및 표 자체제작) - 유동인구 2018년 인천광역시의 주민등록인구 대비 유동인구가 많은 지역은 중구(12.7배), 옹진군(8.12배), 강화군(7.04배) 순으로 나타남. => 중구가 거주인구에 비해 특히나 유동인구가 제일 많은 것으로 보아 다른 지역에서 중구로 특정 목적으로 (통근 통학) 이동하는 경우가 많은가보다... (출처: SKT, 그래프 자체제작) - IMOD 운영실태 - 이용자 반응 웹 서치 및 어플리케이션 후기 하나하나 읽어보고 정리했다. https://www.ohmy..
2023.07.20
no image
[iMOD(2)] Data Cleaning 부터
당시 나는 eda의 e자도 모르는 사람이었기에 일단 데이콘, 캐글, 그리고 기타 책들을 참고하여 아주 기본적인 EDA process를 따라해보기로 했다. EDA의 첫 번째 과정은 Data Cleaning이다. 이 이후에 여러 가지 데이터 분석 프로젝트를 해보고 나서 돌이켜 보니, 정말 내가 만난 데이터 중에서 제일 힘든? 총체적 난국?인 data cleaning 작업이었던 것 같다. 약 360만건의 요청이력(rows)와 26개의 features (columns)가 주어졌다. " Data cleaning이 쉽지 않았던 이유 " [배차상태]에만 배차불가/시뮬레이션취소/시스템취소/탑승취소/하차완료 5가지 종류가 있었으며, 이는 또 다시 [배차상태상세]로 나누어졌다. 예를 들어, 배차불가 - 운행가능차량없음, ..
2023.07.20
no image
SQL : Joins with Comparison Operators
JOIN 기능을 이용할 때, ON 절과 comparison operators를 이용하여 어떠한 조건문이라도 추가할 수 있다. 참고자료에서 나온 예시를 활용하자면, SELECT ~~ FROM companies LEFT JOIN investments ON companies. key1 = investments. key2 AND investments.funded_year >= companies.founded_year + 5 위 쿼리는 companies 라는 테이블과 investments 라는 테이블을 연결짓는데 investments에서 funded된 년도가 companies에서 설립된 연도보다 5년 이상 지난 년도인만 행만 골라 left join 하겠다는 의미이다. 이는 그냥 WHERE 절로 조건을 주는 것과와..
2023.07.20
no image
SQL : Union & Union ALL
UNION UNION 절은 JOIN 절이 두 개의 데이터 셋을 가로로 연결해준것과 달리 아래로 연결되도록 해준다. 따라서, 두 개의 SELECT 문을 작성해서 이어붙일 때 그 사이에 UNION을 쓸 수 있는 것이다. ID 학과 1 경영학과 2 컴퓨터과학과 ID 학과 2 컴퓨터과학과 3 건축학과 4 국어국문학과 첫번째 테이블의 모든 결과를 나열하고 + 그 밑에 두번째 테이블의 모든 결과들이 이어진다. 그런데 distinct values들만 남는다. 즉, 위에서 두번째 테이블인 B에 A와 중복되는 행인 (ID = 2)가 있는데, 이러면 ID = 2인 행은 제외하고 붙여진다. 결과는 다음과 같을 것이다. ID 학과 1 경영학과 2 컴퓨터과학과 3 건축학과 4 국어국문학과 두 개의 SELECT 문 사이에 UNI..
2023.07.20
no image
SQL : Join - LEFT/RIGHT/OUTER JOIN
INNER JOIN 말고 OUTER JOINs에는 LEFT JOIN, RIGHT JOIN, OUTER JOIN이 있다. INNER JOIN은 두 테이블에 모두 있지 않은 정보는 결과로 출력되지 않았다. OUTER JOINs에서는 unmatched된 행들도 결과로 출력될 수 있다. 2. LEFT JOIN INNER JOIN에서처럼 두 개의 TABLE 이 있다고 생각해보자. (1) : 교양 수업을 수강등록한 학생 목록 : 테이블 명 = Students userID 학과 학년 1 경영학과 2 2 응용통계학과 4 3 건축학과 4 4 식품영양학과 3 (2) : 7월 19일 과제제출 및 퀴즈 결과 : 테이블 명 = Class ID 과제제출 퀴즈결과 1 제출 90 3 미제출 80 4 제출 75 이와 같이 INNER ..
2023.07.20
no image
SQL : JOIN - INNER JOIN
JOIN 이 왜 필요할까? 이제까지는 테이블 하나로만 쿼리를 작성했다. 하지만 현실에는 정보들이 여러 개의 테이블들로 나뉘어 있고, 이 여러 개의 테이블들 사이의 관계를 고려하여 연결할 수 있어야 한다. 1. INNER JOIN 다음과 같은 두 개의 TABLE 이 있다고 생각해보자. (1) : 교양 수업을 수강등록한 학생 목록 : 테이블 명 = Students userID 학과 학년 1 경영학과 2 2 응용통계학과 4 3 건축학과 4 4 식품영양학과 3 (2) : 7월 19일 과제제출 및 퀴즈 결과 : 테이블 명 = Class ID 과제제출 퀴즈결과 1 제출 90 3 미제출 80 4 제출 75 여기서 두 table로 SELECT * FROM Students, Class 의 쿼리를 입력하면 연결지을 수 있..
2023.07.19
no image
SQL : CASE로 pivot하기
CASE 절을 이용해서 테이블을 피벗하는 방법에 대하여! - 예제 : 리트코드 1179 - 예제 : 리트코드 1193 LeetCode 1179. Reformat Department Table 문제 이용 Table : Department Column Name Type id int revenue int month varchar 달별 각 부서 (department)의 revenue 값이 기록되어 있는 테이블이다. month의 values are in ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] Write a SQL query to reformat the table such that there is a d..
2023.07.19
no image
OPIc 공부방법 / 문제유형별 접근방법 / 결과 : AL
2023.07.12 - [Skill/OPIc] - OPIc 시험접수 / 문제 유형 정리 / 서베이 OPIc 시험접수 / 문제 유형 정리 / 서베이 [OPIc 시험접수] 외국어말하기평가 OPIc 공식 시험 접수 사이트 https://m.opic.or.kr/opics/servlet/controller.opic.site.main.MainServlet?p_process=move-init-mobile&p_section=2 외국어말하기평가 OPIc 공식 사이트 실생활 커뮤 greenjade.tistory.com OPIc을 공부하기 위해서 (1) 오픽노잼 투 책 (2) 오픽노잼 유튜브 컨텐츠 를 활용하였다. 기간은 대략 열흘정도로 잡아놓고 시험을 먼저 신청했다. 시험을 신청해야 공부할 것 같아서... 목표는 AL! ..
2023.07.18
no image
SQL : Case
CASE CASE 절은 IF절과 같은 역할을 한다. 예시부터 들어보면, CASE 절의 구성은 다음과 같다. CASE WHEN (조건) THEN (조건=T일 때 결과) ELSE (조건=F일 때 결과) END - 항상 END 로 끝나야 함 - ELSE 는 optional임 (WHEN/THEN에서 조건이 다 커버 안되면 넣어야겠지) WHEN 뒤 조건절에 여러 조건을 AND / OR 을 같이 이용해서 구성해도 된다. 예를 들어, SELECT player_name, CASE WHEN year = 'FR' AND position = 'WR' THEN 'fr_wr' ELSE NULL END AS (어쩌구저쩌구) FROM (테이블명) # Using CASE with aggregate functions 특정 조건을 만족..
2023.07.14