본문 바로가기

사업/python 으로 모든걸 할수있다

(16)
[python] 내 코드의 연산시간을 확인하고 싶을때 import time start = time.time() #write your code end = time.time() print('total computation time: ' + str(end - start)) 내가 짠 코드의 시간 효율이 어느정도 되는지를 알기 위해서 time 라이브러리를 사용한다. 종종 너무 오랜 시간 코드가 돌아가는 경우 이것을 효율적으로 만들기위해 여러개의 코드 블록으로 나누어 각 블록의 연산시간을 체크해봐야하는데 위의 코드로 간단하게 가능하다.
google ortools 로 경로 최적화 문제 풀기 (스압 주의) 본 포스팅에서는 구글에서 제공하는 최적화 오픈 소스 라이브러리인 ortools를 이용해 차량 경로 찾는 문제의 python 예제 코드를 소개하고자 한다. ortools 를 이용하면 한대의 차량이 다수의 방문지를 방문하는 Traveling salesman problem(TSP)부터 다수의 차량이 다수의 방문지를 방문하는 Vehicle Routing Problem(VRP), 그리고 VRP 가 변형된 다양한 경우의 최적화 문제를 풀 수 있다. 이 글에서는 기본 VRP부터 시작되어 이것이 변형되어 차량 용량 제약이 추가되었을때까지 보다 복잡한 VRP 문제 상황의 예제를 소개한다. (정확히는 공식 홈페이지에 제공된 예제를 해석하고 풀어 설명한다.) 시작전에 교재 추천! https://epubs.siam.org/d..
google ortools routing 결과 시각화 Google ortools 는 굉장히 파워풀하면서도 간단한 최적화 툴입니다. 그 중 경로를 찾는 routing 문제에 대한 예제도 굉장히 간단하게 제공되어있습니다. 그럼 오늘은 google ortools로 찾은 최적 경로를 시각화하는 방법에 대해 알아보겠습니다. https://github.com/google/or-tools/blob/master/ortools/constraint_solver/doc/routing_svg.py google/or-tools Google's Operations Research tools:. Contribute to google/or-tools development by creating an account on GitHub. github.com 이 경로로 들어가면 svg파일이 생..
그래프로 보는 순위 영상 만들기 요즘 그래프로 보는 순위 영상이 인기다. 해당 컨텐츠를 다루는 가장 대표적인 채널인 몇대몇에서도 방법을 공개한 바 있다. https://www.youtube.com/watch?v=bE-cIRswSrc 약간의 프로그래밍 지식이 있어야 이해할 수 있는 위 방법 말고 초보자도 간단히 구현할 수 있는 사이트를 소개하고자 한다. https://flourish.studio Flourish | Data Visualization & Storytelling Beautiful, easy data visualization and storytelling flourish.studio 위 사이트는 아주 편리한 시각화툴을 제공한다. get started for free 클릭 후 왼쪽 상단에 +new visualization 버튼을..
[python 실무 응용하기] 웹 크롤링을 이용해 제품 가격 수집하기 파이썬을 활용한 웹 크롤링은 간단하면서도 굉장히 유용하다. 웹 크롤링/웹 스크레핑을 이용하면 특정 웹사이트에서 원하는 정보를 가져오는 반복적인 작업을 자동화 할 수 있다. 마치 데이터 수집 봇을 개발하는 식이다!실무에 활용될만한 예제를 들어 코딩 초보자도 쉽게 따라할 수 있는 웹 크롤링 입문용 예제를 소개해보겠다. 예제는 하이마트 웹페이지에서 제품명과 가격 정보를 크롤링 해오는게 목표이다. [정보를 가져오고자 하는 웹사이트의 모습] [자동 수집된 데이터가 엑셀 파일에 저장된 모습] 파이썬을 일절 사용해본 적 없는 초보자도 쉽게 따라할 수 있도록 포스팅할 계획이니, 어느정도 기초가 있는 사람이라면 얼른 스크롤을 내려 3. 본격 예제 코드 돌려보기 로 가자. 1. 기본 세팅하기 (파이썬 설치)파이썬 사용에 ..
[Corona 19] 전세계 확진자 수 변화 추이 시각화 https://www.youtube.com/watch?v=0INklq4iKbE 우리나라는 물론 몇차례의 집단 감염 사태가 있었지만 그래도 빠른 진단기술과 훌륭한 의료진의 희생으로 성장세가 둔화되고 있는 추세이다. 반면, 다른 나라들에서는 점점 상황이 심각해져가고있다. 문득 지난 두달간 나라별 확진자 수 변화 추이가 궁금해졌다. 인터넷에 찾아보니 시간의 흐름에 따른 나라별 확진자 수 변화는 시각화 된 자료가 없어 직접 시각화해보았다. 위 동영상은 1월 22일부터 3월 11일까지의 확진자 수 top 7 국가가 어떻게 변화해왔는지 보여준다.
웹크롤링과 데이터 시각화로 만들어본 유튜브 데이터의 bar chart race 유튜브 컨텐츠를 보던 도중 사람들이 개별 채널 뿐 아니라 유튜브 생태계 자체에도 관심을 갖는다는 사실을 깨달았다. 특정 카테고리 내에서 누가 지는 별인지, 신흥 강자인지 보여주는 컨텐츠에 사람들은 댓글로 저마다 자신만의 분석을 내놓았다. 카테고리별 유튜브 구독자 순위를 그래프를 이용해 보여주는 python 코드를 완성했다. 카테고리별 유튜버 top 50명의 목록을 받아와서 월별 구독자, 조회수 등 과거 데이터를 scraping 해올 수 있는 코드이다. 일단 데이터가 수집되면 이를 bar chart race로 표현하는건 쉽다. 완성된 동영상은 아래 링크에서 확인할 수 있다. https://youtu.be/jq8XBql6pAk 파이썬 코드
웹 크롤링 중 일어날 수 있는 오류들 정리 0. 당연히 가장 많이 발생하는 오류는 기본적인 문법을 틀려서일 것이다. 기초가 부족한 상황이라면 웹 크롤링의 개괄적인 내용을 먼저 이해하고 프로그래밍을 시작하는게 결과적으로 시간을 줄이는 길이다. 인터넷의 크롤링 관련 포스팅 중 가장 양질의 포스팅을 공유한다. 실제 코드를 예시로 들어 초보자도 이해하기 쉽게 차근차근 설명되어있다. https://book.coalastudy.com/data-crawling/ 1. 정적크롤링을 위한 Requests 라이브러리에서 발생할 수 있는 오류 import requests url = 'https://youngseokim.tistory.com' html = requests.get(url) soup = BeautifulSoup(html.text, 'html.parser'..