본문 바로가기
💻 Programming 개발/🐍 Python

[파이썬] 오늘코드 데이터 크롤링 세미나 후기

by 킴디 kimdee 2021. 6. 25.
반응형

* 이 글은 2019년 10월 21일에 참여한 오늘코드(https://www.youtube.com/results?search_query=todaycode)님의

세미나 내용을 간략하게 정리한 내용입니다. 

 

 

 

 

1. 오늘코드 핸즈온 세미나 깃허브 링크

 

https://github.com/corazzon/todaycode-hands-on

 

 

2. 무료로 공부할 수 있는 기초 파이썬 온라인 자료

 

파이썬 도큐먼트

https://docs.python.org/3/tutorial/index.html

 

점프투 파이썬 위키독스

https://wikidocs.net/book/1

 

코딩도장 파이썬

https://dojang.io/course/view.php?id=7 

 

파이썬 문법을 어느정도 공부했다면,

이후에는 처음부터 끝까지 다 실습하는 것이 아니라

그때그때 필요한 내용을 찾아보는 것을 추천. 

 

3. 파이썬으로 커리어를 시작하려면

 

1) ADSP(데이터분석준전문가)와 같은 자격증 보다는 포트폴리오에 신경을 쓰자

2) 공부한 내용을 github에 올리자 

3) 포트폴리오는 어떤걸 해야? 그날그날 공부한 걸 포트폴리오로. 

 

오늘코드님도 본인이 공부한 것들을 정리하여 오늘코드 유투트 계정에 올리셨는데, 

그걸 통해서 많은 사람들이 관심을 가져주시고 당시 다니시던 회사도 유튜브를 보고 연락주신 거라고. 

 

 

 


파이썬의 다양한 그래프들과 그 쓰임새

 

https://colab.research.google.com/notebooks/charts.ipynb

 

 

라인차트  Line Graph

선 그래프의 경우 서버 트래픽 양 등을 확인하기 위한 용도로 쓰임

 

막대그래프 Bar Plot

숫자 데이터를 시각화해서 보고 싶을 때

 

 

히스토그램 Histogram 과 누적 히스토그램 Cumulative Histogram

 

도수분포표를 시각화한 것이 히스토그램, 누적화하여 보는 것이 누적 히스토그램 

 

 

산점분포도(산점도) Scattor Plot

 

x축과 y축이 다 숫자일 때 사용한다. 

 

Area Plot (Area Graph)

 

Image by Katemangostar from freepick

 

꺾은 선 그래프의, 선 아래 영역이 색이나 질감으로 채워져 있는 것을 Area Graph(또는 Area Plot)이라고 합니다.

matplotlib의 비트윈앤 알파로 fill_between 메서드를 사용합니다. 

 

 

https://matplotlib.org/3.3.4/gallery/recipes/fill_between_alpha.html#:~:text=The%20fill_between%20function%20generates%20a,curve%20over%20some%20threshold%20value.

 

Fill Between and Alpha — Matplotlib 3.3.4 documentation

Note Click here to download the full example code Fill Between and Alpha The fill_between function generates a shaded region between a min and max boundary that is useful for illustrating ranges. It has a very handy where argument to combine filling with l

matplotlib.org

 

파이차트 Pie Chart

파이모양의 그래프. 

matplotlib에는 파이차트가 있지만, Seaborn이나 GGplot 없음 

 

 

3D 그래프 3D Bar Chart (3D Plot)

 

3d plot은 시각화를 할 때 사용을 하지 않는 것을 권장함.

보는 각도에 따라 데이터가 일관되어 보이지 않기 때문에

 

 

Matplotlib의 3D wireframe plot 이 예쁨. 

https://matplotlib.org/stable/gallery/mplot3d/wire3d.html

 

 

그외 설명

Seaborn 라이브러리는 matplotlib을 활용하기 쉽게 맵핑해놓은 라이브러리

http://seaborn.pydata.org/

 

인터랙티브한 시각화를 하고 싶다면 Bokeh나 Plotly를 사용하는 것을 추천

 

Bokeh : https://bokeh.org/

Bokeh 홈페이지 메인

 

Plotly : https://plotly.com/python/

 

Plotly 홈페이지 메인

 

 


 

데이터 전처리과정

 

결측치 (NA값)

https://m.blog.naver.com/tjdudwo93/220976082118

 

 

df_store.info()
#데이터프레임에 대한 요약을 보여줌 

df_store.isnull()
df_store.isnull().sum() #더하면 결측치가 몇개 있는지 보여줌 

 

.info() 메서드를 사용하면 데이터프레임에 대한 용약을 보여주는데, 

갯수가 다른 건 결측치가 있기 때문이다. 

 

결측치가 너무 많으면 데이터 전처리를 해줘야 하기 때문에 

사용하지 않는 것들은 제거한다 (컬럼등등) 

 

df_store[drop_columns].samples()
df_store = df_store.drop(drop_columns,axis=1)


df_store[["상권업종대분류명","상권업종소분류명"]]
두개이상의 컬럼은 리스트형태로 가져옴 


df_store=df_store[df_columns].copy()
df_store

copy() 메서드를 사용하여 복사를 하지않고

이용하면 나중에 값을 변경하려고 경고메시지가 뜨기 때문에 메서드를 사용해 값을 복사하여 사용한다.

 

 


핸즈온 코드

https://colab.research.google.com/github/corazzon/todaycode-hands-on/blob/master/coffee-store-eda.ipynb

 

coffee-store-eda.ipynb

Run, share, and edit Python notebooks

colab.research.google.com

 

상가업소 정보 공공데이터를 이용하여 스타벅스와 이디야의 위도, 경도를 받아서 산점도 Scattor Plot 으로 나타내기

 

 

 


공공 데이터 및 크롤링 관련 내용

 

url/robots.txt

robots.txt를 통해 크롤링을 할 수 있는지 없는지 알 수 있음

 

robots.txt가 무엇이냐면 검색엔진이 가져올 수 있는지 없는지가 명시되어 있는 문서.

네이버 정책은 다 this allow라서 크롤링은 힘들고

네이버 API 제공되어 있어서 그걸 써야함. 그렇지 않으면 크롤링으로 저작권 침해가 될 수 있다.  

 

우리나라의 저작권은 FTA를 따르기 때문에

미국의 사례를 따른다.

 

공공데이터와 이를 활용한 자료들

 

1. 공공 데이터 포털

https://www.data.go.kr/index.do

 

 

2. 캐글 

https://www.kaggle.com/

머신러닝, 데이터 사이언스 커뮤니티 

다양한 데이터분석 컴퍼티션이 열리는 곳. 

 

 

3. 한경 뉴스래빗 

http://newslabit.hankyung.com/

http://newslabit.hankyung.com/article/201702229336G

 

[#서울커피맵] ⑦이디야 : 서울 9대 카페 지도

뉴스래빗 데이터저널리즘 특집 시리즈 #서울커피맵 상세 데이터를 공개합니다. 뉴스래빗은 23일 [#서울커피맵] 커피공화국의 증거…카페 점 찍으면 지도가 된다 에서 최근 15년치 서울 카페 정보

newslabit.hankyung.com

한경에서 공공데이터를 이용해서 만든 자료들이 많다. 

이걸 통해서 리버스 엔지니어링을 해보고 공부가 가능

 

 

 

반응형

댓글