오도원입니다.

건강과 행복을 위하여

반응형

PNU DSC 32

03-1. 인구 공공데이터 1

1. 우리 동네 인구구조 시각화하기 2. 인구 구조를 다양한 형태로 시각화하기 3. 우리 동네 인구 구조를 파이 차트로 나타내기 4. 우리 동네 인구 구조를 산점도로 나타내기 1. 우리 동네 인구 구조 시각화하기 '현대 경영학의 아버지'라 불리는 피터 드러커는 "인구 통계의 변화는 미래와 관련된 것 가운데 정확한 예측을 할 수 있는 유일한 사실"이라고 했다. 그만큼 인구 데이터는 다양한 인사이트(insight)를 제공한다. 1) 인구 공공데이터 내려받기 https://mois.go.kr/frt/a01/frtMain.do 행정안전부 대표 누리집 행정안전부 홈페이지에 오신것을 환영합니다. mois.go.kr 정택자료 -> 통계 -> 주민등록 인구통계 연령별 인구현환 남/여 구분 체크 해제 연령 구분단위 1세..

02-3. 데이터 시각화 기초 3

기온 데이터를 다양하게 시각화하기 1. 히스토그램 히스토그램은 자료의 분포상태를 직사각형 모양의 막대 그래프로 나타난 것이다. 막대 그래프의 높이는 데이터의 빈도에 따라 결정된다. import matplotlib.pyplot as plt plt.hist([1, 1, 2, 3, 4, 5, 6, 6, 7, 8, 10]) plt.show() 1, 6은 두 개씩 있고, 9를 제외한 나머지는 한 개씩, 9는 아예 없습니다. 주사위 시뮬레이션 random 모듈의 randint() 함수를 사용하여 주사위를 구현해보자. import random print(random.randint(1, 6)) randint(a, b)를 실행하면 a이상 b이하의 정수 하나를 반환한다. for문을 사용하여 주사위를 5번 굴려보겠다. im..

02-2. 데이터 시각화 기초 2

내 생일의 기온 변화를 그래프로 그리기 1. 데이터에 질문하기 태어난 날부터 지금까지 매년 생일의 최고 기온을 그래프로 그린다면 어떤 모양일까? 1) 데이터 읽어오기 먼저 부산의 기온 데이터를 읽어와서 한 줄씩 출력해보겠다. import csv f = open('pusan.csv') data = csv.reader(f) for row in data: print(row) 이번에는 헤더부분을 next()로 제외한 후, 최고기온 데이터만 출력해보겠다. f = open('pusan.csv') data = csv.reader(f) header = next(data) for row in data: print(row[-1]) 2) 데이터 리스트에 저장하기 최고 기온 데이터를 날짜 순으로 저장할 result 리스틀 생..

02-1. 데이터 시각화 기초 1

기본 그래프 그리기 1) matplotlib 라이브러리 파이썬으로 데이터를 시각화하는 데는 matplotlib 라이브러리를 가장 많이 사용한다. 그래프, 이미지, 등을 그릴 때 사용한다. matplotlib 라이브러리 안에는 다양한 모듈들이 있는 pyplot 이라는 모듈을 주로 사용할 것이다. import matplotlib.pyplot matplotlib.pyplot 이름이 너무 길고 복잡하므로 alias로 plt라는 이름을 사용하겠다. import matplotlib.pyplot as plt 2) 기본 그래프 그리기 plot() 함수에 한 개의 리스트를 입력했다. plot() 함수는 직선 또는 꺾은선 그래프를 그릴 때 사용하는 명령어이다. import matplotlib.pyplot as plt pl..

01. 기온 공공데이터 - 부산의 가장 더웠던 날은 언제일까?

해당 글은 [송석리, 이현아의 모두의 데이터분석 with 파이썬]을 공부하고 정리하기 위해서 작성한 글입니다. 1. 기온 데이터 분석 2. 부산의 기온 데이터 분석하기 3. 부산이 가장 더웠던 날 구하기 1. 기온 데이터 분석하기 # 공공데이터란 무엇인가? 어렵게 생각하지 말자. 모두를 위해 공개된 데이터이다. 그 중 우리가 첫번째로 다룰 데이터는 기온 데이터이다. https://data.kma.go.kr/cmmn/main.do 기상자료개방포털 data.kma.go.kr 다운받은 csv파일을 확인하면 다음과 같다. # CSV 파일이란 무엇인가 CSV는 'Comma Separated Values'의 약자로 각 데이터가 콤마(,)로 구분된 파일 형식이다. 해당 csv파일을 메모장으로 열면 확실하게 확인할 수..

Flask 18. jQuery와 ajax

현재 우리는 api를 만들고 있다. api를 사용하기 위해서는 ajax를 사용해야한다. 그리고 ajax를 편하게 쓸 수 있도록 도와주는 것이 jquery라이브러리이다. ajax는 비동기로 서버에 요청할 수 있다. 브라우저에 XMLHttpRequest객체가 있어서 이것을 사용해서 서버에 데이터를 요청할 수 있다. 기존에는 웹에 접근할 때 주소에다가 서버의 주소를 씀으로써 데이터(페이지)를 요청할 수 있고, form을 만드는 방법이 있다. 이러한 방법들은 페이지 이동이 일어나서 서버에서 무조건 응답으로 웹페이지를 만들어서 응답해야하는 단점이 있었다 그러나 api를 사용하면 리소스 중심으로 데이터의 이동만 일어난다. 클라이언트는 데이터만 받기 때문에 데이터로 웹을 만들어야한다. 화면은 이미 만들어져있는 상태에..

Flask 17. CRUD

Read => GET Update => PUT Delete => DELETE @api.route('/users/', methods=['GET', 'PUT', 'DELETE']) def user_detail(uid): if request.method == 'GET': # GET은 조회(read) user = Fcuser.query.filter(Fcuser.id == uid).first() # first로 하나만 뽑아낸다. return jsonify(user.serialize) # user는 객체이므로 serialize하게 만들어야한다. elif request.method == 'DELETE' : # DELETE는 삭제(delete) Fcuser.query.delete(Fcuser.id == uid) ret..

Flask 16. 회원생성 API 만들기

사용자의 요청에 대해서 html코드를 응답하는 uri와 API로 리소스만 제공하는 uri가 있다. 이 두개를 구분해서 개발할 것이다. flask에서 제공하는 blueprint를 이용할 것이다. 1. __init__.py from flask import Blueprint api = Blueprint('api', __name__) from . import user api라는 이름의 블루프린터를 만들고 이 api를 통해서 user.py안에서 api코드를 만들 것이다. 2. user.py # 사용자 API from flask import jsonify from . import api # . 은 현재위치를 말한다 from flask import requuest from models import Fcuser fro..

Flask 15. HTTP와 RESTful API

프론트엔드와 백엔드가 분리가 되었다. 그러나 분리가 되면 서로 데이터를 주고받기 위한 프로토콜이 있어야 한다. 이 방법이 HTTP를 사용하는 RESTful API이다. https://docs.microsoft.com/ko-kr/azure/architecture/best-practices/api-design API 디자인 지침 - Best practices for cloud applications 잘 디자인된 Web API를 만드는 방법에 관한 지침입니다. docs.microsoft.com

Flask 14. 백엔드와 프론트엔드

이제까지 우리는 파이썬 코드안에서 html, css, app까지 모두 다뤘다. 그러나 요즘은 백엔드와 프론트엔드를 분리하는 것이 트렌드이다. 즉, html, css, js로 프론트엔드를 하고 백엔드로 파이썬을 하는 것이다. 1. 프론트엔드와 백엔드 현재 우리의 방식이다. 프론트엔드에 UI계층이 있다. UI계층은 사용자에게 보여지는 화면으로 HTML, CSS, JS가 된다. 백엔드에서는 비즈니스 로직을 처리하는데 UI계층도 있다. 이 경우의 문제점은 다음과 같다. 백엔드에서 응답(reponse)로 HTML을 전달하게 될 경우, 모든 request의 결과가 '페이지'가 된다. 이것은 페이지를 새로 그리게(refresh) 된다. 요즘은 프론트엔드와 백엔드를 완전히 분리해서 프론트엔드에서는 비즈니스 로직이 어떻..

반응형