파이썬으로 최근 하고 있는 일들

요즘 바빠서 블로그에 글을 쓰지 못하였는데 드디어 짬이 나서 글을 써봅니다. 바빴던 이유는 중간고사 이후 해야 할 프로젝트가 2개 있으니, 오히려 중간고사를 준비할 때보다 더 바쁘더라고요. 주말에도 쉬지도 못하면서 공부, 프로젝트를 하다 보니 구내염도 생겨서 알보칠도 며칠째 바르고 있습니다...바를 때마나 너무 아파서 눈물 나오고 소리 질러요...으아아아!


제 프로젝트 소개를 간단히 드리자면, 프로젝트 하나는 6월 지방선거와 관련된 뉴스를 생성하는 것입니다. 여기에서 제 역할은 관련된 그래프를 만드는 것이라서 서울시 지도, 대한민국 지도를 만들고, 예상 당선자 수 그래프도 만들어야 해서 정말 힘들었습니다.


다른 프로젝트는 SeekingAlpha라는 주식 정보가 많은 웹사이트에 올라온 글들을 모아서 분석을 수행하는 것이었습니다. 웹사이트의 정보를 모으는 것을 web crawling이라 하는데, 이것 또한 처음이라 공부하면서 프로젝트를 해야 해서 우여곡절이 많았습니다. 위 2개의 프로젝트를 할 수 있었던 밑바탕에는 제가 사용한 '파이썬'이라는 프로그래밍 언어가 있습니다.



이 두가지 프로젝트를 하면서 느꼈던 점은 프로그래밍 언어 파이썬으로 할 수 있는 일이 정말 많다는 것입니다. 정말 신세계를 발견한 기분입니다! 파이썬에는 다른 사람들이 만들어 놓은 라이브러리(기능들의 집합)들이 정말로 많아서 이들을 가져와서 쉽게 프로그램을 짤 수 있습니다. 이 라이브러리의 간편한 설치성과 유용성 덕분에 위와 같은 만화도 나왔을 정도입니다.


그러면 파이썬을 이용해서 제가 요즘 무엇을 하고 있는지 소개해 드리도록 하겠습니다.


#1. 지도 만들기

각 지역별 선거 투표율을 나타내기 위해 만든 플롯입니다. 이유는 모르겠지만 파이썬에서 그려지는 그래프 비슷한 그림들은 플롯(plot)이라고 부르더라고요. 제가 만든 서울지도와 전국 지도를 보여드립니다!


전국 투표율 지도

서울 투표율 지도


위 2개의 지도는 Geopands라는 라이브러리를 통해 그렸고, 더 자세히 보고 싶으신 분은 제 github의 '2018-South-Korean-local-election'을 방문해 주세요! 혹시 저와 같은 지도를 그리고 싶으신 분들은 저와 같은 어려움을 겪지 않으셨으면 하기에 제가 도움 받은 곳을 알려드립니다. 바로 Lucy park님의 블로그입니다.





저는 파이썬으로 지도를 그려야 했기 때문에 위의 블로그 포스트에서 안내하는 D3라는 java script를 활용할 수 없었습니다. 그래서 이 글의 설명을 그대로 따라할 수는 없었죠 ㅠㅠ. Lucy Park이라는 블로그 주인장께서 친절하게 서울시 지도, 전국 지도 그리는 방법을 설명해주셨지만 하나도 활용할 수 없어 마치 그림 속의 떡을 보는 기분이었습니다. 하지만 여기에서 서울시 지도, 전국 지도를 파이썬에서 그릴 수 있는 geojson이라는 파일을 구할 수 있었습니다.


#2. Bar graph 만들기

특정 선거구의 후보자별 득표율을 보여주기 위해 만든 수평 막대 그래프입니다. 여기서 눈여겨 보셔야 할 점은 후보자의 정당별 (더불어민주당, 자유한국당, 무소속 등)에 따라서 막대 그래프의 색이 바뀐다는 것입니다. 이것도 제가 위에 소개해놓은 제 github에 가시면 다운 받아 보실 수 있습니다.


수평 막대 그래프


#3 웹 크롤링하기

미국 주식에 관련된 추천글들이 많이 올라오는 SeekingAlpha라는 웹사이트가 있습니다. 이 웹사이트의 글을 쓰는 저자들의 수익률을 바탕으로 저자들의 순위를 매기는 작업을 하고 있는데요, 이를 위해서 웹사이트 글을 모아서 데이터 베이스 만드는 작업을 하고 있습니다. 그 결과물의 일부를 보여드리면 다음 사진과 같습니다.


SeekingAlpha 글 데이터베이스


이렇게 깔끔하게 표를 만들 수 있게 해주는 기능이 Pandas의 DataFrame입니다. Numpy와 Pandas가 많이 중요하다고 하는데 더욱 열심히 배워야겠습니다. 그리고 아직 이 웹 크롤링도 제 github의 SeekingAlpha라는 폴더에 가시면 보실 수 있지만 현재 계속 계량중이라서 아직은 완벽하지는 않아요. 



이상 3가지로 제가 요즘 하고 있는 것들을 정리해 보았습니다. 프로그래밍 공부를 위주로 했는데, 이번 방학에는 선형대수학과 통계학 공부를 더 열심히 해야겠다고 다짐해봅니다!

728x90
더보기

댓글,

하얀눈곰

프랑스에 살고 있습니다. 낯선 나라에 와서 살다보니 생각들이 많습니다. 이 지나가는 생각들을 붙잡아 두기 위해 블로그를 시작했습니다.