일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- python
- Til
- 코딩테스트
- 정렬
- 백준
- 유데미큐레이션
- Tableau
- 그리디 알고리즘
- 데이터프레임
- Leetcode
- 데이터드리븐
- 판다스
- 유데미코리아
- 스타터스부트캠프
- 부트캠프후기
- 브루트포스 알고리즘
- 취업부트캠프
- ndarray
- 파이썬
- DataFrame
- 데이터분석
- 넘파이
- numpy
- 데이터시각화
- 태블로
- pandas
- 유데미
- 유데미부트캠프
- 시각화
- matplotlb
- Today
- Total
Diary, Data, IT
유데미 스타터스 취업 부트캠프 4기 - 데이터분석/시각화(태블로) 2주차 학습 일지 본문
유데미 스타터스 취업 부트캠프 4기 - 데이터분석/시각화(태블로) 2주차 학습 일지
2주차 학습내용
1. 파이썬 데이터 시각화
지난 주에 이어 파이썬 시각화를 학습했는데, 공공데이터를 바탕으로 배웠던 내용들을 활용해보는 기회가 되었다. 단순히 그래프를 그리는 것을 넘어 꾸미기 옵션들을 지정해주며 데이터를 더 효과적으로 시각화하는 방법들을 배울 수 있었다. 그래프에 추가적인 선을 그린다던가, 텍스트를 추가한다던가 하는 옵션들을 잘 활용할 수 있도록 노력해야겠다는 생각을 했다. 이번 주차에 진행했던 간단한 시각화 내용들은 아래 포스팅에서 살펴볼 수 있다.
[TIL] 6일차 TIL(20230213) - 데이터 시각화 및 활용
[TIL] 6일차 TIL(20230213) - 데이터 시각화 및 활용 1. 그래프 꾸미기 옵션 1.1 수평선, 수직선 - plt.axhline(y좌표, x축시작위치, x축끝위치): 수평선 그리기, 전체를 1이라고 했을 때의 상대적인 위치를 지
better0.tistory.com
2. SQL
이전에 SAS PROC SQL문을 통해 쿼리문을 작성하는 법에 대해서는 배운 적이 있었는데, 이번에는 MySQL을 이용해서 제대로 SQL에 대해 배울 수 있었다. 데이터 분석가가 데이터를 추출하는데 있어 필요한 전반적인 문법을 빠르게 훑어볼 수 있었고, 공공데이터를 이용해 필요한 데이터를 추출해보는 실습까지 진행했다. 학습한 내용을 요약하면 다음과 같다.
2.1 테이블 생성 및 삭제
- CREATE TABLE 테이블명 (속성명 자료형);
CREATE TABLE BookLibrary (
bookid INTEGER,
bookname VARCHAR(20),
publisher VARCHAR(20),
price INTEGER
);
- DROP TABLE 테이블명: 테이블의 구조와 데이터를 모두 삭제
2.2 제약조건
- 테이블을 생성할 때 예상치 못한 데이터의 손실이나 일관성을 어기는 데이터의 추가, 변경 등을 예방하기 위해 제약조건을 설정
- NOT NULL: NULL값을 가질 수 없음
- UNIQUE: 중복된 값을 저장할 수 없음
- PRIMARY KEY: 기본키(인덱스)로 지정하여 테이블을 검색할 때 기준으로 사용
- FOREIGN KEY: 다른 테이블들과의 관계를 나타낼 수 있는 외래키
- CHECK: 조건을 만족하지 않으면 오류 반환
- DEFAULT: 값을 입력하지 않으면 기본값으로 설정
2.3 SELECT FROM 절
SELECT [ALL┃DISTINCT] 컬럼이름[,] | *
FROM [dbname.]테이블이름[,]
[WHERE 검색조건(들)]
[GROUP BY 속성이름]
[HAVING 검색조건(들)]
[ORDER BY 속성이름 [ASC┃DESC]]
2.4 GROUP BY + HAVING
- GROUP BY 에 선택한 컬럼의 조건을 HAVING 절에 지시
- GROUP BY절 사용시 GROUP BY에 사용한 칼럼이 PK가 아니라면 집계함수와 PK이외에 다른 값을 그대로 SELECT하면 오류 발생
- PK로 GROUP BY했을 때는 이외의 칼럼도 각각 SELECT할 수 있음
/*예제.
가격이 8000원 이상인 도서의 주문 수량을 구하는데,
2권 이상 주문한 고객이름, 수량, 판 금액을 조회하자.*/
SELECT C.CUSTID, C.USERNAME, A.주문수량, A.총판매금액
FROM CUSTOMER C,
(SELECT CUSTID, COUNT(ORDERID) 주문수량, SUM(SALEPRICE) 총판매금액 FROM ORDERS
WHERE SALEPRICE >= 8000
GROUP BY CUSTID
HAVING COUNT(ORDERID) >= 2) AS A
WHERE A.CUSTID = C.CUSTID;
2.5 JOIN
- 방법1: 테이블을 모두 가져와서 WHERE절에서 공통된 값들만 남기는 방법(INNER JOIN)
SELECT *
FROM Customer, Orders
WHERE Customer.custid = Orders.custid
- 방법2: SELECT ~ FROM ~ JOIN ~ ON을 통해 조인 방법과 기준 칼럼을 정해주는 방법
SELECT Customer.username, saleprice
FROM Customer
(LEFT/RIGHT/OUTER) JOIN Orders
ON Customer.custid =Orders.custid;
2.6 집합/다중행 연산자
- UNION 연산자: 두 테이블의 합집합을 반환
- IN: 서브쿼리 반환 값에서 연산 조건에 해당하는 값이 있으면 참
- NOT IN: 서브쿼리 반환 값에서 연산 조건에 해당하는 값이 없으면 참
- ALL: 서브쿼리에 의해 반환되는 모든 값과 메인쿼리와 조건값을 비교하여 모든 값을 만족해야만 참
- EXISTS: 서브쿼리의 어떤 행이 조건에 만족하면 참
- ANY: 서브 쿼리에 의해 구해진 값 중 아무 값과 비교하고 싶은 경우에 사용
- IN 연산자 예시)
/*대한민국 거주 고객 중 도서를 주문한 고객의 이름*/
SELECT username FROM Customer
WHERE address LIKE '대한민국%' AND
name IN (SELECT username
FROM Customer
WHERE custid IN (SELECT custid FROM Orders));
2.7 VIEW
- 자주 사용하는 쿼리문을 수행한 결과를 가상의 테이블로 저장해두고 사용할 수 있음
- CREATE OR REPLACE VIEW 뷰이름(뷰 칼럼1, 뷰 칼럼2, ...)
AS SELECT ~ FROM ~
- SELECT 구문 그대로 사용, SELECT할 칼럼의 이름들을 위에 명시하는 것(선택사항)
-- 세 테이블을 합한 새로운 VIEW 생성
CREATE OR REPLACE VIEW V_ORDERS
AS SELECT ORDERID, O.CUSTID, USERNAME, O.BOOKID, SALEPRICE, ORDERDATE
FROM CUSTOMER C, ORDERS O, BOOK B
WHERE C.CUSTID = O.CUSTID AND B.BOOKID = O.BOOKID;
SELECT * FROM V_ORDERS;
2.8 공공자전거 이용 현황 데이터(202012, 202101)를 이용한 SQL 실습
[TIL] 10일차 TIL(20230217) - RANK, ROLL UP, 공공데이터를 이용한 SQL 실습
[TIL] 10일차 TIL(20230217) - VIEW, RANK, ROLL UP, 공공데이터를 이용한 SQL 실습 1. VIEW - 자주 사용하는 쿼리문을 수행한 결과를 가상의 테이블로 저장해두고 사용할 수 있음 - CREATE OR REPLACE VIEW 뷰이름(뷰
better0.tistory.com
2주차 학습후기
1주차보다 부트캠프 강의실이나 아침에 일어나는 것도 적응이 돼서 좀 더 다니기 수월했던 것 같다. 학습 내용의 경우에는 지난주에 파이썬만 했을 때보다 조금 힘들었다 ㅠ_ㅠ SQL이 완전 노베이스는 아니었지만 잊어버렸던 부분들이 많고, 완전히 익히고 넘어가고 싶어서 제공받은 학습 코드의 문제들을 뽑아서 하나하나 작성해보며 진행했기 때문에 시간이 많이 걸렸다. 문제가 어렵지는 않았지만 쿼리문 작성 방식이나 함수들을 잊어버려서 어떻게 작성해야할지 생각하는데 시간이 필요했다. 하지만 그렇게 3일정도 진행하고보니 어제 복습하면서는 코드를 첫날에 비교해서 확실히 빠르게, 뚝딱뚝딱 완성할 수 있었다. 주말에 시간을 내서 공부한 보람이 느껴졌다 :)
현재 파이썬과 SQL을 공부하면서, 확실히 SQL에 비해 파이썬이 데이터를 처리하는 방식이나 코드 작성에 있어 훨씬 수월하다는 생각이 들었다. 하지만 실무에서 데이터망에 존재하는 데이터를 일차적으로 뽑아오는 작업이 SQL로 진행되기 때문에 SQL에 익숙해져야 할 것 같다. 시간 여유가 있을 때 SQL관련 문제들을 더 풀어볼 예정이다.
다음 주 보완사항
1. 유데미에서 제공하는 데이터 분석 강의를 수강하려고 담아두었는데, SQL공부 내용이 많아서 이번 주에는 추가적으로 진행하기 힘들었다. 이번 주에는 수강할 수 있도록 노력해야겠다.
2. 다음 주에는 R을 배우는데 파이썬을 배우고나서는 R을 제대로 사용해 본 적이 없어서 문법들을 대부분 잊어버렸다. 우선 이번 주에 학습하는 내용들을 놓치지 말고 제대로 정리해 둘 필요가 있을 것 같다.
3. 이번 주에 간단한 나홀로 파이썬 데이터 시각화 프로젝트(?)를 진행했었는데, SQL을 배우면서 여유가 없어져서 마무리를 제대로 하지 못했다. 다음 주 내로 마무리해서 블로그에 수록할 수 있도록 할 것이다.
* 유데미 큐레이션 바로가기 : https://bit.ly/3HRWeVL
* STARTERS 취업 부트캠프 공식 블로그 : https://blog.naver.com/udemy-wjtb
본 후기는 유데미-웅진씽크빅 취업 부트캠프 4기 데이터분석/시각화 학습 일지 리뷰로 작성되었습니다.
'STARTERS' 카테고리의 다른 글
유데미 스타터스 취업 부트캠프 4기 - 데이터분석/시각화(태블로) 6주차 학습 일지 (0) | 2023.03.19 |
---|---|
유데미 스타터스 취업 부트캠프 4기 - 데이터분석/시각화(태블로) 5주차 학습 일지 (0) | 2023.03.12 |
유데미 스타터스 취업 부트캠프 4기 - 데이터분석/시각화(태블로) 4주차 학습 일지 (0) | 2023.03.03 |
유데미 스타터스 취업 부트캠프 4기 - 데이터분석/시각화(태블로) 3주차 학습 일지 (0) | 2023.02.26 |
유데미 스타터스 취업 부트캠프 4기 - 데이터분석/시각화(태블로) 1주차 학습 일지 (0) | 2023.02.10 |