분석가 Step 1. 데이터 분석 24

데이터 분석의 기초, 데이터 파악하기

데이터가 주어졌을 때, 가장 먼저 해야할 일은 데이터의 전반적인 구조를 파악하는 것이다. 데이터에 어떤 변수들이 있는지, 행과 열의 구성은 어떠한지 등에 대한 정보들을 살펴보고, 어떠한 모델링으로 분석을 진행하고, 그 분석 결과를 토대로 어떠한 인사이트를 도출할 것인지까지 분석 방향을 결정할 수 있다. 이러한 과정을 탐색적 데이터 분석: Exploratory Data Analysis(EDA)라고 한다. 탐색적 데이터 분석(EDA) 데이터 분석 프로세스의 초기 단계로 데이터를 이해하고 파악하기 위해 수행되는 활동이다. 주로 데이터의 구조/패턴/이상치/변수 간 관계 등을 탐색한다. 이러한 탐색을 통해 데이터에 대해 더 깊이 이해할 수 있으며, 데이터의 품질을 향상시켜 모델의 성능을 높이는데 도움을 준다. E..

PostgreSQL 설치, 데이터베이스와 연동하기

PostgreSQL 관계형 데이터베이스 관리 시스템(RDBMS)으로서, 대규모 데이터베이스를 개발 및 관리하는 데 사용 오픈소스 소프트웨어로 세계적으로 널리 사용 A(원자성), C(일관성), I(격리성), D(지속성) 원칙을 준수하는 데이터베이스 시스템으로 데이터의 안전성, 일관성, 동시성 제어 등의 기능 제공 (데이터 손실/손상 방지, 다수 사용자 동시 접근/수정 가능) 다중 사용자 환경에서 대규모 데이터베이스 처리 가능 다양한 운영체제에서 실행 가능 및 여러 프로그래밍 언어와의 연동(통합) 지원) 1. PostgreSQL 홈페이지에서 최신 버전 윈도우 설치파일 다운로드 먼저, https://www.postgresql.org/ 에 접속한 후, 아래 그림 순서대로 PostgreSQL을 설치하면 된다. 주..

데이터 파일 인코딩 확인하기

파이썬으로 데이터를 읽고, 저장할 때 주로 csv, excel, text 등의 파일 형태를 사용한다. 그리고 데이터는 여러 인코딩을 가지고 있는데, 그중에서도 보통 가장 많은 인코딩 유형은 'utf-8', 'euc-kr'이다. 1. UTF-8 (Unicode Transformation Format 8-bit) - 현재 가장 널리 사용되는 문자 인코딩 방식 중 하나이며, 유니코드(Unicode)를 나타내기 위해 설계된 인코딩 방식 *유니코드: 전 세계 대부분의 문자와 기호를 포함하는 국제 표준 문자 집합 - 8비트 기반의 가변 길이 인코딩 방식으로 ASCII 문자(영어 알파벳 및 일부 특수 문자)는 1바이트로 표현하고, 문자의 경우 필요에 따라 2~4바이트까지 표현 - ASCII와 완벽하게 호환되므로, 기..

SQL 실력 향상을 위한 해커랭크(HackerRank) 시작하기

간단히 해커랭크를 시작해서 SQL 실력을 향상해보자! 해커랭크 프로그래밍 문제를 내고 풀어보고 채점할 수 있는 플랫폼 개발자 채용 시 사용하는 플랫폼 SQL 파트에 대한 문제들이 다양한 난이도로 구성되어 있음 ※ 유사 사이트 : Mode, 프로그래머스 등 해커랭크 접속 사이트 : https://www.hackerrank.com/ HackerRank HackerRank is the market-leading technical assessment and remote interview solution for hiring developers. Learn how to hire technical talent from anywhere! www.hackerrank.com 회원가입이 되어 있지 않으면, 해커랭크 사이트에..

경도, 위도 생성하기

Q-GIS 수행을 위해서는 공간정보인 좌표계(경도, 위도)가 꼭 필요하다. Q-GIS는 경도와 위도를 불러온 후 지도를 생성하고, 이를 바탕으로 분석한다. 기본적으로 시스템상에서 경도/위도에 대한 좌표계는 EPSG:4326-WGS84이다. 공간정보가 포함된 데이터는 다양한 포털 사이트에서 다운로드할 수 있다. 그럼에도 공간정보가 포함되지 않았다면, 다른 방법을 이용해야 한다. 필자는 GIS 분석 전문 사이트(https://www.biz-gis.com/)를 이용하였다. 주식회사 비즈GIS (BIZ-GIS Inc.) - GIS 분석 전문 사이트 주식회사 비즈GIS에서 운영하는 GIS 분석 사이트입니다. www.biz-gis.com 사이트에 들어가면, GIS 분석틀 X-Ray Map For Web을 실행한다...

공공데이터포털 오픈 API 불러오기 2편

지난번 1편에서 "대전광역시"에 대한 정보만 포함된 데이터를 통해 정보를 추출하였다. 이번엔 전국 정보에서 "대전광역시"에 대한 정보만을 추출해보자. 1편: https://danha23.tistory.com/13 공공데이터포털 오픈 API 불러오기 1편 목표 : 공공데이터포털에 있는 오픈 API 불러오자! 먼저, 공공데이터포털에 접속한 후 로그인을 한다. 로그인 후 "마이페이지 - 오픈 API - 개발계정"에서 내가 활용신청한 데이터를 확인할 수 있다 danha23.tistory.com 간단하다! URL을 불러오는 과정에서 paste() 대신, GET() 함수를 사용하는 것이다. library(XML) library(httr) library(dplyr) library(tidyverse) rm(list=l..

공공데이터포털 오픈 API 불러오기 1편

목표 : 공공데이터포털에 있는 오픈 API 불러오자! 먼저, 공공데이터포털에 접속한 후 로그인을 한다. 로그인 후 "마이페이지 - 오픈 API - 개발계정"에서 내가 활용신청한 데이터를 확인할 수 있다. 실습 파일 : 대전광역시 문화관광(관광지) 오픈 API 오픈 API에 대한 자세한 정보는 해당 데이터의 참고문서를 확인하면 된다. 그리고 가장 중요한 것!! API 활용을 위해서는 서비스키(인증키)가 필요하다. ※ 서비스키(인증키)는 "오픈 API - 인증키 발급현황"에서 발급 후 확인 (발급 후 1시간 이후에 사용 가능) ※ API 불러온 후 오류 메시지가 나타난다면, 인코딩 혹은 서비스키 문제 이제, 오픈 API를 불러오자. 필자는 대전광역시 문화관광(관광지) API에서 문화관광 관광지 목록조회(XM..

특정 폴더 안의 특정 파일(목록) 반복해서 가져오기

지난 1탄에서는 특정 폴더 안에 있는 파일(목록)만을 불러왔다. 1탄: https://danha23.tistory.com/7 특정 폴더 안의 특정 파일(목록) 가져오기 특정 폴더 안에있는 특정 파일(목록)을 가져오자. 1) pathlib, common을 이용하여 특정 폴더와 파일 경로 불러오기 경로를 불러온 후, 해당 폴더에 어떤 파일이 있는지 os.listdir()을 이용하여 확인하기 danha23.tistory.com 이번에는 특정 폴더 안에있는 특정 파일(목록)을 반복해서 불러오겠다. 먼저, 앞선 단계에서 특정 폴더 내에 있는 모든 파일(목록)들을 불러온 변수에서 파일들을 반복문(for)으로 불러온다. for f in file_names: print(f) 불러온 파일들 중에서 '.xlsx' 형식의 ..

특정 폴더 안의 파일(목록) 가져오기

특정 폴더 안에있는 특정 파일(목록)을 가져오자. 1) pathlib, common을 이용하여 특정 폴더와 파일 경로 불러오기 경로를 불러온 후, 해당 폴더에 어떤 파일이 있는지 os.listdir()을 이용하여 확인하기 from pathlib import Path import pandas as pd import os try: import common DATA = common.data except ImportError: DATA = Path().resolve() / 'data' file_names = os.listdir(DATA) file_names 2) os를 이용하여 현재 경로 불러오기 경로를 불러온 후, 해당 폴더에 어떤 파일이 있는지 os.listdir()을 이용하여 확인하기 ※ os.getcwd..

다중인덱스/컬럼(Multi Index/Column) 편

데이터 분석을 하다보면, 수많은 데이터를 이용하게 된다. 일반적으로 csv 혹은 text 파일을 이용하지만 간혹 excel, html, xml 등 다양한 데이터를 이용한다. 필자는 주로 csv 파일을 이용하는데, 최근에 excel 데이터를 활용한 경험이 있다. 해당 데이터는 다중인덱스와 컬럼으로 구성되었고, 필자는 이러한 데이터를 csv 파일 형식의 데이터로 변환하려고 한다. 먼저, 다중 인덱스와 컬럼으로 구성된 데이터프레임(DataFrame)을 생성하였다. 아래 보이는 데이터를 unstack(), stack(), reset_index() 등을 이용하여 필자가 원하는 형태로 데이터를 재구성 하겠다. ※ stack : 컬럼을 인덱스로 변환 (Series 형식으로 변환됨) ※ unstack : 인덱스를 컬럼..