-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[6주차] 퇴근시간 버스승차인원 예측 #6
Comments
|
LR과 NN으로 모델학습 시킨 결과 성능(오차)값의 큰 변화 없음.
|
제주 기상정보 크롤링 기상청 제주 기상자료 주소 : https://www.weather.go.kr/weather/observation/currentweather.jsp?auto_man=m&stn=0&type=t99®=184&tm=2019.10.25.16%3A00&x=16&y=10 |
selenium - Colab에서 실행하기(chrome)Selenium이란?Selenium은 주로 웹앱을 테스트하는데 이용하는 프레임워크다. webdriver라는 API를 통해 운영체제에 설치된 Chrome등의 브라우저를 제어하게 된다. ‘눈에 보이는’ 컨텐츠라면 모두 가져올 수 있다.전체 코드 : 1등_코드_날씨데이터_크롤링(colab_버전)
!pip install selenium
!apt-get update # apt install을 정확히 실행하기 위해 설치된 패키지 업데이트
!apt install chromium-chromedriver #패키지 설치
!cp /usr/lib/chromium-browser/chromedriver /usr/bin cp : 유닉스 셸에서 한 파일을 어떤 장소에서 다른 장소로 또는 다른 파일 시스템으로 옮길때 사용하는 명령어
sys.path.insert : 다른 폴더(경로)에 있는 python 파일 import 가능하도록 import sys
sys.path.insert(0,'/usr/lib/chromium-browser/chromedriver')
from selenium import webdriver
#chrome의 option 설정
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless') #chrome 창이 나오지 않게 해준다.
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
#1등 코드에서의 browser == driver
driver = webdriver.Chrome('chromedriver', chrome_options=chrome_options)
import pandas as pd
import time
weather_data_10 = pd.DataFrame(columns = ['현재일기_10','현재기온_10','체감온도_10','일강수_10'])
url = 'http://www.weather.go.kr/weather/observation/currentweather.jsp?auto_man=m&type=t99®=184&tm=2019.10.25.16%3A00&x=19&y=7'
driver.get(url) #browser == driver
for i in range(0, 46):
i+=1
#id를 찾고 그 공간을 비운 후 새로운 값을 넣어준다 (날짜값,10시)
elem = driver.find_element_by_id('observation_text')
elem.clear()
elem.send_keys("2019.9.{}.10:00".format(i))
btn = driver.find_elements_by_class_name('btn')
btn[2].click()
time.sleep(1)
weathers = driver.find_elements_by_css_selector('td')
weather_data_10 = weather_data_10.append(pd.DataFrame([[weathers[40].text,weathers[44].text, weathers[46].text, weathers[47].text]],columns=['현재일기_10','현재기온_10','체감온도_10','일강수_10']))
print('success !')
driver.close() |
1등 코드 데이터 전처리 부분
|
Query 함수는 아래 6가지 기능을 포함하고 있습니다.
coords_jejusi = (33.500770, 126.522761) #제주시의 위도 경도
data['dis_jejusi'] = [geopy.distance.vincenty((data['latitude'].iloc[i],data['longitude'].iloc[i]), coords_jejusi).km for i in range(len(data))] data의 위도 경도와 제주시의 위도경도의 거리를 계산한다. 여기서 km은 kilometers |
import shutil
filename = 'test.txt'
src = 'home/banana/'
dir = 'home/banana/txt/'
shutil.move(src+filename, dir+filename) |
https://dacon.io/competitions/official/229255/overview/
기온 공공데이터 사용 : https://data.kma.go.kr/stcs/grnd/grndTaList.do?pgmNo=70
강수량 공공데이터 사용 : https://data.kma.go.kr/stcs/grnd/grndRnList.do?pgmNo=69
The text was updated successfully, but these errors were encountered: