목록개발일지/데이터 분석 (21)
안녕하세요!

지난 게시물에서는 공공데이터포털에서 받은 csv자료를 내가 필요한 자료로 탈바꿈시켜 새로 저장했다. 이제 이 자료를 DB에 넣는 과정을 해보도록 하자. import pandas as pd 역시 오늘도 등장해주는 pandas. import는 필수다. file_path = "./01_data/new_data.csv" df = pd.read_csv(file_path) df 지난 게시물에서 저장했던 파일의 경로를 그대로 file_path로 지정해준뒤 df라는 변수로 넣어놓는다. 이제 우리는 테이블을 설계해야한다. 테이블을 만들면서 몇가지 무조건적으로 만들어야 할 게 있다. (산출물) - 테이블 정의서 : 테이블 명, 컬럼 명, 컬럼타입, null 여부에 대한 정의가 필요함 - ERD - 스크립트명세서 이게 없으..

이번 챕터에 들어가기에 앞서 데이터를 공공데이터에서 받아왔음을 알린다. - 수집위치 : data.go.kr 데이터 불러들이기 import pandas as pd file_path = "./01_data/한국전력거래소_시간별 전력수요량_20211231.csv" df = pd.read_csv(file_path, encoding="euc-kr") 해당하는 파일을 다운받은 뒤, 전 게시물에서 한것처럼 파일의 경로를 지정해주고, df라는 변수로 해당 파일을 읽기로하자. df.info() # 결측 빠질 수 없는 결측 검사. RangeIndex: 365 entries, 0 to 364 Data columns (total 25 columns): # Column Non-Null Count Dtype --- ------ ..

python을 이용해 데이터수집을 해봤다. 기본적으로 데이터 수집이라고하면, 우리가 생각하는 모든것들(다운받은것, 누군가가 준것 등)이 결국은 데이터 수집이다. python은 pandas라는 라이브러리가 있는데 이 라이브러리가 우리를 어려움에서 벗어나게해줄 라이브러리이니 설치되어있지 않다면, pip install pandas를 통해 설치하도록 하자. 이후 import pandas를 하여 등록해준다. 행렬 데이터를 처리하기 위한 다양한 함수를 지원하는 라이브러리 파일 읽기, 저장, 행렬데이터 처리, 기본시각화 등 지원 데이터 전처리 과정에서 주로 사용된다. (정보수집) → (데이터 탐색) → (필요에 따라 모델을 만듦) 데이터 수집 → 데이터 전처리 → 데이터 가공(필요시 전처리) → 데이터 분석 탐색/시..

이번 포스팅에선 SQL에서 view와 procedure 에 대해 알아보도록하자 View DB의 쿼리에서 생기는 가상테이블. 하나 이상의 테이블을 사용 할 수 있고, 원래의 목적이 조회기때문에 조회,입력,수정,삭제가 가능하지만 조회만 하는 용도로 사용한다. 또한 가상테이블이므로 실제 데이터를 저장하지 않고, 보안을 유지할 때 좋다. 쉽게 말해 객체화를 이용한 테이블 조회방식이라고 생각하면 좋다. 구매 내역이 없는 회원 조회하기. 조회컬럼 : 회원아이디, 회원이름 SELECT mem_id, mem_name FROM member WHERE mem_id NOT IN (SELECT cart_member FROM cart); DB에서 무언가 만들려고하면 create를 사용해서 만든다고 생각하면된다. View 또한 ..

이번 포스팅에선 With Rollup과 함수를 알아보자 with rollup WITH ROLLUP 2개이상의 컬럼을 이용하여 그룹을 짓는 경우. 그룹별 중간합계(집계함수에 대해서)를 표시 마지막행에는 전체합계가 표시 됨. 예를들어보자면, [문제] 상품분류 전체에 대한 상품q이름과 구매수량의 총합을 조회 단, 구매년도가 2005년도인 것. prod, cart 테이블만 사용 조회컬럼 : 전체상품분류코드, 상품명, 구매수량의 총합 SELECT prod_name, LEFT(prod_id,4), SUM(cart_qty) AS total FROM prod left outer join cart ON(prod_id = cart_prod and SUBSTRING(cart_no,1,4) = '2005') GROUP BY ..

여태 select로 조회만 해봤지 수정은 해본적이 없으니 수정하는 방법부터 알아보도록 하자. Update의 경우는 select 자리에 update를 써주고, from자리에 수정할 값 set을 사용한다. where절이 무조건적으로 쓰여야하며, 수정을 잘못하면 데이터가 망가질 수 있으니 조회하는걸로 확인하여 where절을 복사하여 넣는식으로 하는게 좋다.(내 목숨을 위해좋다...) [문제] 수정하기 회원아이디 a001, b001인 회원의 마일리지 값을 2로 수정해주세요. SELECT mem_id,mem_mileage FROM member WHERE mem_id IN ('a001','b001'); UPDATE member SET mem_mileage = 2 WHERE mem_id IN ('a001','b001..

union 조회결과와 조회결과를 행단위로 합치는 기능입니다. 조회결과들간의 컬럼의 갯수 및 데이터타입은 동일해야 사용할 수 있습니다. SELECT 'member', mem_id, mem_name FROM member UNION all -- union SELECT 'cart',cart_member, cart_prod FROM cart; 중요한 특징은 중복이 제거된다는 것이고, 때문에 현업에서는 union all 을 사용합니다. 이유는 보통 통계를 낼때 사용하는데 중복이 제거되면 완전한 자료를 얻을 수 없기 때문입니다. [문제] 회원전체에 대한 총구매금액을 조회하기 조회컬럼 : 회원아이디, 회원이름, 총구매금액 마지막 행에는 전체구매금액(SUM)을 넣어주세요. SELECT mem_id, mem_name, s..

https://shinyfood.tistory.com/64 SQL join 간단 정리. (중요해요!) SQL에서 join이란.. 정말 없어서는 안될 존재다. 여태 From table명을 쓰며 select로 PK FK를 이용하여 컬럼탐색을 했다면, from에 table명을 여러개 사용하면서 PK FK을 이용하여 자유롭게 컬럼을 조회 가능 shinyfood.tistory.com 기본 Join 개념은 이전 게시글을 확인 부탁드립니다. [문제] 회원아이디 b001 회원의 마일리지값보다 큰 회원정보 조회하기 조회컬럼 : 회원아이디, 이름 2가지이상 SELECT mem_id, mem_name, mem_mileage FROM member WHERE mem_mileage > (select mem_mileage FROM..