[AI SCHOOL 5기] 웹 크롤링

Web Crawling vs Web Scraping Web Crawling: Bot이 web을 link를 통해 돌아다니는 것 Web Scraping: Webpage에서 원하는 자료를 긇어오는 것 HTML Tags Tag’s Name: html, head, body, p, span, li, ol, ul, div Tag’s Attribute: class, id, style, href, src The Process of Web Scraping URL 분석 (query 종류 등) URL 구성 HTTP Response 얻기 (urlopen(URL) or request.get(URL).content) HTTP source 얻기 (BeautifulSoup(HTTP Response, 'html.parser')) HTML Tag 꺼내기 (.find('tag_name', {'attr_name':'attr_value'})) Tag로부터 텍스트 혹은 Attribute values 꺼내기 (Tag....

March 25, 2022 · 2 min · 232 words · minyeamer

[AI SCHOOL 5기] 데이터 분석 실습 - 데이터 시각화

Visualization Libraries Plotly Altair Bokeh (Website Graph) @ https://j.mp/30772sU Data Chart Types Numeric: 숫자 자체에 의미가 있음 (온도 등), 연속형 Categoric: 숫자 너머에 의미가 있음 (성별, 강아지 품종 등), 불연속형 @ https://goo.gl/ErLHCY @ http://j.mp/2JcEENe GeoJSON Data 1 2 3 4 5 6 import json # 한국의 지도 데이터 참조 # @ https://github.com/southkorea/southkorea-maps geo_path = 'skorea_municipalities_geo_simple.json' geo_str = json.load(open(geo_path, encoding='utf-8')) JSON(Javascript Object Notation): 데이터 교환을 위한 표준 포맷 GeoJSON: 지도 데이터 포맷 json....

March 24, 2022 · 4 min · 651 words · minyeamer

[백준 11650] 좌표 정렬하기 (Python)

문제 링크 https://www.acmicpc.net/problem/11650 개요 배열 형태의 자료들을 정렬하는 간단한 문제이다. 파이썬에서는 내장 함수 sort()를 사용하면 쉽게 풀 수 있다. 문제 해설 문제에서 요구하는 것은 x좌표 값과 y좌표 값으로 구성된 배열들의 리스트를 x 값, y 값 순으로 정렬하는 것이다. 배열의 자료구조는 인덱싱으로 접근이 가능한 것이면 아무거나 상관없기에 좌표 표현에 직관적인 튜플을 사용한다. 정렬의 기준이 반대였으면 람다 식을 써야겠지만 좌표의 위치가 곧 정렬 순서이기 때문에 Key값은 사용하지 않는다. 해설 코드 1 2 3 4 5 6 7 8 9 10 import sys input = sys....

March 23, 2022 · 1 min · 98 words · minyeamer

[AI SCHOOL 5기] 데이터 분석 실습 - 데이터 탐색

Visualization Library 1 2 3 import seaborn as sns sns.heatmap(gu_df[]) Visualization Issues 한글 데이터 표시 오류 서로 다른 자릿수로 구성된 열에 동일한 스케일 적용 시각화된 테이블 형태의 비직관성 문제 인구수가 고려되지 않은 부정확한 데이터 한글 데이터 시각화 1 2 3 4 5 6 7 8 matplotlib inline # Windows font_name = font_manager.FontProperties(fname="C:/~/malgun.ttf").get_name() rc('font', family=font_name) # Mac rc('font', family='AppleGothic') Feature Scaling/Normalization Min-Max Algorithm 열에 대한 최솟값(min)을 0, 열에 대한 최댓값(max)를 1로 맞춤 기존 열을 old_x, 새로운 열을 new_x라 할 때,...

March 23, 2022 · 2 min · 268 words · minyeamer

[AI SCHOOL 5기] 데이터 분석 실습 - 데이터 분석

Practice Data 서울시 범죄현황 통계자료 범죄별로 검거율 계산 1 2 3 4 5 6 7 # gu_df는 실습 자료에 서울시 경찰청의 소속 구 데이터를 추가한 DataFrame gu_df['강간검거율'] = gu_df['강간(검거)']/gu_df['강간(발생)']*100 gu_df['강도검거율'] = gu_df['강도(검거)']/gu_df['강도(발생)']*100 gu_df['살인검거율'] = gu_df['살인(검거)']/gu_df['살인(발생)']*100 gu_df['절도검거율'] = gu_df['절도(검거)']/gu_df['절도(발생)']*100 gu_df['폭력검거율'] = gu_df['폭력(검거)']/gu_df['폭력(발생)']*100 gu_df['검거율'] = gu_df['소계(검거)']/gu_df['소계(발생)']*100 해당 계산법의 문제: 이전 연도에 발생한 사건이 많이 검거될 경우 검거율이 100%를 초과 발생 건수가 0인 경우 검거율에 결측치(N/A)가 발생 초과된 검거율을 최댓값으로 조정: 1 2 # 검거율에 해당되는 열의 집합 columns columns = ['강간검거율', '강도검거율', '살인검거율', '절도검거율', '폭력검거율'] 모든 행에 대해 반복문 실행 1 2 3 4 for row_index, row in gu_df_rate....

March 23, 2022 · 2 min · 289 words · minyeamer