본문 바로가기

Back-End

(60)
[DB] 데이터베이스 실습 - 버스교통카드 데이터 수집 가공 데이터 파일 다운로드👻 [포항시 BIS 교통카드 사용내역 데이터 수집] 1. URL : 국가교통 데이터 오픈마켓 2. 로그인 후 "포항시 BIS 교통카드 사용내역" 검색 3. 상품 다운로드 >> 200개씩 보기 >> 전체선택 >> 파일 다운로드 >> 80개 압축파일 다운 한건 샘플링 하기 여러개의 파일 데이터를 통합하는 경우에는 한개 파일을 기준으로 사용할 컬럼을 정의하여 가공 후 반복 처리하면 편하다. 1. 0번 파일의 csv 데이터 읽어들이기 - 데이터프레임 이름 : df_bus_cart_org file_path = './01_data/org/trfcard(0)/trfcard.csv' df_bus_card_org = pd.read_csv(file_path) df_bus_card_org.head() 2..
[DB] 데이터베이스 연결 - pymysql 라이브러리 사용 pymysql 1. 데이터 조회시에 유용한 라이브러리 2.설치 - 방법1 : conda install -c conda-forge pymysql - 방법2 : pip install pymysql DB 프로그램 순서 데이터베이스 설정 정보 준비 import pymysql ##반드시 있어야 하는 정보 # 접속 ID or 도메인 host = "localhost" # 사용자계정 user = "gjuser" # 패스워드 password = "dbdb" # 데이터베이스명 db = "gjdb" ##설정하면 좋은 정보 # 한글처리 charset = "utf8" # 자동반영 autocommit = True # 조회시 컬럼명을 동시에 보여줄지 여부 설정 cursorclass = pymysql.cursors.DictCurso..
[DB] 데이터베이스 테이블에 저장하기, 설계하기 (DB 연결, 저장, 자원반환) 데이터베이스 테이블에 저장하기 1. 저장한 파일 불러오기 - pandas 2. 테이블 설계하기 - 테이블정의서 - 스크립트명세서 3. 데이터 저장 or 조회시에 유용한 라이브러리 - sqlalchemy (저장) - pymysql (조회) 4. DB연결하기 5. DB저장하기 6. DB 자원 반환(접속 끊기) 7. DB연결하기 최종 저장한 파일 불러오기 저장한 파일 불러오기 🐾 import pandas as pd file_path = "./01_data/new_data.csv" df = pd.read_csv(file_path) df 테이블 설계하기 테이블 설계하기 🐾 - 테이블명, 컬럼명, 컬럼타입, null 여부에 대한 정의가 필요함 (산출물) - 테이블정의서 - ERD - 스크립트명세서 ※ 직접 Heid..
[DB] 데이터 수집하기 데이터 수집하기 1. 한국전력거래소 시간별 전력수요량 데이터 수집 2. 데이터 불러오기 - 결측치 찾기 - 이상치 찾기 3. 데이터 정제화 - 컬럼명 추출 - 빈 데이터프레임(1) 생성 - 데이터프레임(2)에 데이터 행단위 추가하기 - 데이터프레임(1)+(2) 합치기 4. 정제된 데이터 파일 저장하기 데이터 수집 한국전력거래소 시간별 전력수요량 데이터 수집 🐾 - 수집위치 : data.go.kr - 다운로드 : 한국전력거래소_시간별 전력수요량 (파일데이터 or 오픈API) - CSV : 파일데이터로 다운로드, JSON/XML : 오픈 API - 메타데이터 : 컬럼에 대한 타입과 데이터 형식을 알려주는 문서 - 어떻게 관리하면 데이터를 편하게 사용할 수 있을까? 25개 컬럼?(24시간 데이터니까) → 너무..
[DB] 데이터 전처리 기초 - 판다스(pandas) 전처리 기초 1. 판다스(pandas) : 파이썬, 라이브러리 - 파이썬 사용하는 이유 : 가볍고 직관적임, 웹프로그래밍이 가능하다. 데이터 처리 라이브러리가 잘 만들어져 있다. 2. 데이터 분석과정 3. 데이터 전처리 판다스 판다스(pandas) 🐾 - 행렬 데이터를 처리하기 위한 다양한 함수를 지원하는 라이브러리 - 파일 읽기, 저장, 행렬데이터 처리, 기본시각화 등 지원 - 데이터 전처리 과정에서 주로 사용 데이터 분석과정 데이터 분석과정 🐾 - 데이터 수집 > 데이터 전처리 > 데이터 가공(필요시 전처리) > 데이터 분석 탐색/시각화(필요시 전처리) > 필요시 모델 훈련(머신러닝 or 딥러닝) > 웹서비스 또는 분석보고서 - 일반적으로 책에서는 " 데이터수집 > 전처리 > 분석 > 시각화 " 로 ..
[DB]데이터베이스(MariaDB) - 함수, 뷰(view), 프로시저(procedure) 데이터베이스 함수 중복을 줄이고 더 편하게 사용하도록 도와주는 함수를 만드는 방법을 알아보자. 이렇게 만든 사용자정의 함수를 UDF라고 한다. 함수 생성하기 새로운 쿼리 생성 후 코드 작성 → F9로 실행 1. Delimiter(구문 문자) : 문법의 끝을 나타내는 역할 2. 사용자 정의 함수 생성 (paramGu는 매개변수) 3. 리턴 타입 정의 4. 함수 기능 시작과 끝 : BEGIN - END // 5. 반환할 값을 저장할 변수 선언 (리턴타입사이즈 = 변수사이즈) : DECLARE 6. 반환하기 : RETURN ※ ' // ' 뒤에는 아무 것도 있으면 안됨!!(스페이스바도 조심) ※ 스트링 타입이 UTF8이 아니면 타입정의 뒤에 ' CHARACTER Set UTF8MB4 ' 작성! ※ 조회한 결과..
[DB]데이터베이스 그룹함수 - WITH ROLLUP, CUBE, GROUPING SETS 데이터베이스 그룹함수 데이터베이스를 Group By 지어줄 때 사용할 수 있는 함수들을 알아보자. MariaDB 그룹함수 : WITH ROLLUP , HAVING ORACLE 그룹함수 ROLLUP, CUBE, GROUPING SETS WITH ROLLUP 2개 이상의 컬럼을 이용하여 그룹 짓는 경우 1. 그룹별 중간합계(집계함수에 대해서)를 표시 2. 마지막 행에는 전체합계가 표시됨 ex. P101건에서 총 39건, P102건에 대해서 60건, P201건에서 189건 문제1 상품분류 전체에 대한 상품이름과 구매수량의 총합을 조회하기 조회컬럼 : 전체상품분류코드, 상품명, 구매수량의 총합 1. 단, 구매년도가 2005년도 2. prod, cart 테이블만 사용 SELECT prod_lgu, prod_nam..
[프로그래머스] 코딩테스트 Lv.1 추억점수 자바 알아둬야 할 개념 1. HashMap : HashMap은 Map 인터페이스를 상속하고 있기에 Map의 성질을 그대로 가지고 있고, Map은 키와 값으로 구성된 Entry객체를 저장하는 구조를 가지고 있는 자료구조이다. 2. int[숫자] answer : 숫자 길이만큼의 정수 값이 들어가 있는 배열 import java.util.*; class Solution { public int[] solution(String[] name, int[] yearning, String[][] photo) { int[] answer = new int[photo.length] ; HashMap map = new HashMap(); for(int i = 0; i