데이터분석(파이썬) 8

Dash (Plotly)

Dash는 Plotly 기반으로 만들어진 것으로, 파이썬과 html을 통해 웹사이트나 대시보드를 만들 수 있다. 웹서비스 까지 구현이 가능한 것이 큰 장점이다. 따라서 기존에는 front-end 에서 데이터를 보여줘야 했던 것을 Dash와 Plotly를 통해 front-end 화면을 구성 할 수 있다. 1. Import import dash from dash.dependencies import Input, Output from dash import dcc from dash import html import pandas as pd 2. 개요 - dash.Dash 함수를 통해 대시보드 앱을 생성한다. - html과 dcc 를 이용하여 화면을 구성한다 - callback 함수에서 UI와 연계한다 - run_s..

차트 (Plotly)

데이터를 차트로 표현하기 위해 기본적으로 Seaborn 이 있다. Plotly 는 Seaborn 에서 좀 더 발전된 형태로, 마우스 오버시 데이터에 대한 상세 내용을 볼 수 있다. pandas의 DataFrame과 연계가 좋다. 공식 사이트 주소 : https://plotly.com/python/ 1. 간트 차트 예제 import plotly.express as px import pandas as pd df = pd.DataFrame([ dict(Task="Job A", Start='2009-01-01', Finish='2009-02-28', Resource="Alex"), dict(Task="Job B", Start='2009-03-05', Finish='2009-04-15', Resource="Ale..

EDA (Exploratory Data Analysis)

수집한 데이터 중 어떤 항목을 어떻게 활용할지 살펴보는 것이다. 매우 중요하고 큰 비중을 차지 한다. 데이터 구성은 어떻게 되어 있는지, 데이터 타입은 무엇인지, 관계는 어떻게 되어 있는지 살피고, 원하는 형태로 가공하여 Raw 데이터 에서 내가 필요로 하는 항목을 정리하는 역할이다. 차트를 이용하여 x, y 값을 변경해 가면서 확인하는것 또한 매우 중요하다. (패턴 분석을 위해) 시각화 는 다음번에 다룰 생각이다. 딥러닝이든 시각화 이든 데이터가 문자열 형태보다는, 정수 혹은 실수형이 좋기에 데이터 타입을 변경해야 한다. 데이터 가공을 위해 pandas를 주로 활용 한다. EDA를 수행하는 프로세스가 정해진 것은 아니다. 필요에 따라 이것저것 수행해보면 되며, 이 중 몇가지를 다뤄보려 한다. 전국 주유..

Pandas

파이썬에서 데이터를 가공, 저장 하기 위한 라이브러리로, 대용량 데이터도 처리가 가능하다. 액셀로 데이터 저장도 가능하다. - 행렬로 되어 있는 데이터 분석 및 가공에 최적화 되어 있다. (DataFrame 으로 변경함. 테이블 형식) - 벡터 연산이 가능하다. 공식 홈페이지 : https://pandas.pydata.org/ user guide 에 상세히 잘 나와 있다. 판다스를 임포트 한다. import pandas as pd 0. Read or Write - read_csv, read_excel 등의 함수를 이용하여 데이터를 불러 올 수 있다. - 마찬가지로, to_excel 등의 함수를 통해 저장 할 수 있다. - 인자값은 파일의 경로 문자열 이다. - 저장의 경우, index = False 인자..

동적 웹크롤링 (Selenium, Cromedriver)

1. 개요 - url 이 변경되는 형태가 아닌, script로 동작하는 웹페이지의 데이터를 크롤링 하는 방법을 말한다. 대부분의 웹페이지에 해당 된다고 생각된다. - 마우스 클릭, 스크롤 등 동작을 프로그래밍 하여 임의로 수행하고 해당 결과값을 가져오는 방식이다. 페이지 로딩 등에 시간이 걸리므로 타이머를 적절하게 배치해야 한다. - 이전 페이지에서 본 beautifulsoap을 사용치 않고 selenium 과 chromedriver 를 사용한다. - chromedriver 는 https://chromedriver.chromium.org/downloads 여기서 다운로드 가능하다. 위치는 소스코드 위치에 두든, 원하는 위치에 둬도 상관없고, 호출시 경로만 잘 적어주면 된다. 2. 사용법 - chromed..

정적 페이지 크롤링 (beautifulsoap4)

1. 정적 페이지 크롤링 - 정적 페이지의 좋은 예가 네이버 증시 페이지 이다. 이걸 기준으로 내용 정리를 하려 한다. - 해당 페이지의 url 은 https://finance.naver.com/sise/sise_index_day.naver?code=KPI200&page= {page_no} 로, 페이지 번호가 바뀌면 url 이 변경된다. - beautifulsoup4 를 통해 페이지 내용을 가져온 후, 원하는 데이터를 추출해 온다. 크롬 브라우저에서 F12를 눌러 개발자 모드로 진입 한 뒤, 내가 원하는 항목에 마우스를 갖다대면, 우측에 소스코드가 나오게 된다. 해당 화면에서 마우스 우클릭 -> Copy XPath를 하여 find_all 에 사용할 이름을 확인한다. import requests impor..

웹 크롤링 기획 기본

1. 웹 크롤링 설명 - 웹에서 데이터를 긁어오는 것을 말한다. - 하드코딩의 성격이 매우 강하기 때문에, 웹 페이지 내부가 변경될 경우 다시 새로 만들어야 한다. - 수집된 데이터의 저작권(?) 확인을 잘 해봐야 한다. - 크롬 브라우저를 사용해야 하고, chromedriver 파일이 필요하다. 웹 크롤링에는 2가지 방식이 있다. - 정적 페이지 크롤링 -> 상대적으로 구현하기가 쉽다. 페이지에서 가져올 데이터 들이 이미 다 명시되어 있다. -> 정적 페이지 크롤링의 경우 beautifulsoap 을 사용한다 - 동적 페이지 크롤링 -> 자바스크립트를 통해 데이터를 가져와야 하는 경우이다. 혹은 다른 동작을 해야 하는 경우도 있다. (스크롤 이라든지) -> chromedriver 파일과 selenium..

데이터 분석 개요

딥러닝과 데이터 분석은 바늘과 실 같은 존재이다. 딥러닝을 위해선 학습 데이터가 필요한데, 어떤 데이터를 학습 데이터로 활용할지 분석이 필요하기 때문이다. 그외 현재 트랜드 검색 등 다양한 방면에서 사용 될 수 있다. 내용을 다음과 같이 정리하려 한다. 1. 웹 크롤링 - 정적 페이지 - 동적 페이지 2. 판다스를 이용한 데이터 가공 및 저장 3. EDA 를 통한 데이터 분석 4. 대시보드로 데이터 시각화 딥러닝 처럼 많은 게시글을 작성할 것 같진 않고, 간단하게 개념만 정리할 예정이다.