반응형

Python 36

[Python - Crawling] API 활용하여 날씨 예보 데이터 호출하기(OpenWeatherMap)

OpenWeatherMap API로 현재 날씨 / 예보 정보 호출하기 활용할 사이트는 다음과 같다. https://openweathermap.org/ Сurrent weather and forecast - OpenWeatherMap Access current weather data for any location on Earth including over 200,000 cities! The data is frequently updated based on the global and local weather models, satellites, radars and a vast network of weather stations. how to obtain APIs (subscriptions w openweather..

Python/Crawling 2023.06.29

[Python - Crawling] API 활용하여 과거 기상 관측 데이터 불러오기

기상청 허브에서 제공하는 API를 활용하여 파이썬으로 과거 기상 관측 데이터를 불러와 보겠다. 본 포스팅에서는 1. 먼저 기상청 API 허브 사이트에 대해 설명하고, 2. 파이썬 코드로 실제 불러오는 부분을 실습해보겠다. 먼저 기상청 API 허브 사이트에서 회원가입을 한다. https://apihub.kma.go.kr/ 기상청 API허브 apihub.kma.go.kr 회원가입, 로그인을 하고나면 마이페이지에 자동으로 인증키가 생성된다. 따로 신청할 필요도 없다. 위 사진과 같이 개인 회원은 하루 최대 2,000건 호출 할 수있으며, 현재 몇 회 호출했는지도 확인할 수 있다. (기업 회원은 하루 최대 3,000건) 과거 지상에서 관측되었던 날씨를 불러오고 싶다면 홈페이지에서 "지상관측"을 눌러 들어간다. ..

Python/Crawling 2023.03.28

Crawling in Python(request, BeautifulSoup, Selenium) (2)

이전 포스팅에서 Crawling이 무엇인지와 BeautifulSoup과 Selenium의 차이점, 웹페이지가 어떻게 구성되어있는지, HTML Tag란 무엇인지, BeautifulSoup으로 Tag를 어떻게 찾는 지 등에 대해 알아보았다. 2023.02.21 - [Python/Crawling] - Crawling in Python(request, BeautifulSoup, Selenium) (1) Crawling in Python(request, BeautifulSoup, Selenium) Python에서 Beautiful Soup과 Selenium으로 Crawling하는 방법 먼저 Crawling이란? 컴퓨터 소프트웨어 기술로 웹 사이트들에서 원하는 정보를 추출하는 것이다. 웹사이트도 코드로 짜여져있기때..

Python/Crawling 2023.02.22

Crawling in Python(request, BeautifulSoup, Selenium) (1)

Python에서 Beautiful Soup과 Selenium으로 Crawling하는 방법 먼저 Crawling이란? 컴퓨터 소프트웨어 기술로 웹 사이트들에서 원하는 정보를 추출하는 것이다. 웹사이트도 코드로 짜여져있기때문에 어느정도 정형화되어있다. 이러한 규칙들을 기반으로 원하는 정보만 추출하는 것이 바로 웹 크롤링이다. 뉴스 기사 웹페이지에서 기사 제목이나 기사 내용들을 수집한다던가, SNS에서 포스팅 내용, 좋아요 수 등을 수집하는 것 모두 크롤링이라 할 수 있다. 이를 Python으로 진행해 볼건데, 가장 대표적인 Library가 Beautiful Soup과 Selenium이다. 두 라이브러리로 본격 크롤링을 하기 전에 웹이 어떻게 구성되어있는지를 먼저 알아보겠다. 다음은 많이 보는 네이버 웹페이지..

Python/Crawling 2023.02.21

Class 이해하기 :: Class를 쓰는 이유, Class vs function

Class VS Object 먼저 Class와 Object(객체)의 개념에 대해 알아보겠다. 예를 들자면 class는 '인간' 이라는 추상적인 타입이고, object는 '이효리', '유재석' 처럼 실제로 존재하는 객체를 의미한다. '인간'은 이름, 나이, 성별 등의 속성(attribute)이 있고, 숨쉬기, 먹기, 잠자기 등의 행동(method)을 한다. 객체인 '이효리'와 '유재석' 역시 이러한 인간의 특징들을 모두 가지고있다. 여기서 중요한 것은 각 객체는 본인의 고유한 성격을 가진다는 것이다. 만약 '이효리'가 이름을 바꾼다고 해도 '유재석'의 이름은 그대로인 것처럼 말이다. 실제 파이썬에서 예를 들자면 List 라는 타입은 Class를 의미하고, a = list() 혹은 a = [1, 2, 3, ..

Python 2022.04.07

[Markdown] Jupyter notebook tab like r markdown(widgets)

주피터 노트북에서 tab 만들기 R 마크다운에서는 tabset으로 내용을 나누어 깔끔하게 만드는 것이 가능했다. 주피터 노트북에서도 widget으로 해당 기능을 구현할 수 있는데, 그 방법을 알아보고자 한다. 최종 Output은 다음과 같다. First, Second 두 개의 Tab을 만들고, 각각에 histogram 이미지를 넣어주었다. 먼저 필요한 Library를 import 한다. ipywidgets의 widgets 가 핵심이다. import matplotlib.pyplot as plt import pandas as pd import ipywidgets as widgets import numpy as np 다음으로, 그래프를 그려 줄 예시 데이터를 만든다. data1 = pd.DataFrame(np..

Python/MarkDown 2021.09.14

[Python pandas] Fill time interval by group :: 비어있는 시간 채우고, group별 직전값으로 NA 채우기

공정 TAG 데이터를 처리하다보면, 데이터가 수집되지 않아, 비어있는 시간을 채워야 하는 경우가 있다. 특히, Group 별로 사이사이 비어있는 시간을 채우는 방법을 설명하고자 한다. 최종 결과는 다음과 같다. DATE에 분 단위로 비어있는 row를 채우고, 그 값은 Group별 직전 시점의 값으로 채운다. 1. Library pandas와 numpy를 불러온다. import pandas as pd import numpy as np 2. Create Data 실습에 사용할 데이터를 만들어준다. 나중에 Group별로 직전값으로 채워주기 위해 A와 B로 이루어진 Group 컬럼과, 값을 나타내는 value, 시간을 나타내는 DATE로 만들었다. data = pd.DataFrame({'Group':['A','..

[Pandas] Line, Scatter, Box, Histogram, Density, Bar, Pie Plot :: add Hline, Vline, Plot Customizing, by Group

판다스 데이터 프레임으로 여러가지 그래프를 그리고, Customizing 하는 방법에 대해 알아보겠다. 1. Import Library matplotlib 와 seaborn을 활용한다. import matplotlib.pyplot as plt import seaborn as sns import numpy as np import pandas as pd import random 2. Create Sample Data Set 50개의 random 한 데이터를 만들어 준다. group별로 그래프를 customizing 하기 위해 A, B, C로 이루어진 'group' 컬럼도 생성한다. data = pd.DataFrame({"x":np.random.rand(50), "y":np.random.rand(50), "z..

Python/Plot 2021.06.21

[Markdown] Jupyter Notebook :: 주피터 노트북 마크다운 정리

주피터 노트북에서 마크다운을 활용하는 여러가지 기능들을 소개하고자 한다. 마크다운이란? 먼저, 마크다운이란 일반 텍스트 문서의 양식을 편집하는 문법으로, HTML의 형태로 변환이 가능하다. 마크다운은 HTML과 아주 깊게 연관되어 있어, 웹 프로그래밍 중 HTML 문법을 알고 있다면 더욱 다양한 활용이 가능하다. 1. 마크다운 사용하기 주피터 노트북에서 마크다운을 사용하려면 먼저, Code Cell 에서 Markdown Cell 로 변경해 주어야 한다. 변경하는 방법은 다음과 같다. 1. esc + m 2. Cell -> Cell Type -> Markdown 첫 번째 방법은 단축키를 활용하는 방법으로, 마크다운 셀로 변경하고자 하는 셀을 클릭 후, esc로 커서를 없애주고, m을 눌러 마크다운 셀로 변..

Python/MarkDown 2021.06.15
반응형