정말 왜 한다고 결심하고 시작했지?? 하고 후회하는 일이 있었습니다. 최근 저는 책을 한 권 집필했는데요. 나같은 어중이 떠중이가 뭐 대단하다고 이렇게 책을 쓰겠다는 거지? 하면서 몇번을 후회하다가 결국 모든 작업이 마쳐졌네요...
저는 출판이라는 작업이 그렇게 어려운지 몰랐습니다. 저자는 그저 아이디어와 글과 자료만 있을 뿐 그건 책이 아니더라구요. 디자인하시는분, 교정, 기획, 편집.. 휴.. 정말 많은 분들의 손길이 거치는 것이 책인것 같습니다. 그래서 더더욱 중간중간 후회했지요..ㅠㅠ. 아무튼.... 사실 저의 공식적인 출판은 NCS의 학습모듈을 집필할 때였습니다만, 그건 일종의 국책사업이고, 이번에는 순수하게 제 의지로 수행하는 거니 첫 출판 책이지요. 이 책의 구성을 하게 된 히스토리가 있습니다만.. 그건 한 번 더 시간을 내서 이야기하는 걸로 하죠^^ 일단. 이 책에서 다루는 데이터와 소스코드는 모두 Github[바로가기]에 있습니다. 창피하지만 책 소개는 아래와 같습니다.^^
파이썬으로 데이터 주무르기
ISBN 979-11-86697-47-4 (93000)
책 소개
독특한 예제를 통해 배우는 데이터 분석 입문
이 책은 누구나 한 권 이상 가지고 있을 파이썬 기초 문법책과 같은 내용이 아닌, 데이터 분석이라는 특별한 분야에서 초보를 위해 처음부터 끝까지 파이썬으로 진행되는 과정을 다룹니다. 서울시 범죄 현황 분석, 셀프 주유소 가격 정보 분석, 19대 대선 결과 분석 등 흥미 있는 목표를 이루기 위해서 파이썬의 기초를 익히고, 데이터를 다루고 분석하는 데 필요한 과정을 대화 형식으로 전개하면서 필요한 기초 내용은 그때 그때 습득하고자 합니다. 마치 파이썬에 대해 잘 모르는 독자가 구글에서 검색하며 코드 한 줄 한 줄을 완성해가는 느낌으로 기술했습니다. 대부분의 장에는 뚜렷한 목표가 있습니다. 항상 시작은 데이터를 얻는 법을 먼저 다루게 되고, 그 데이터를 정제하거나 변경해가며 목표를 이루는 과정을 보여줍니다. 필요하다면 해당 모듈의 튜토리얼을 가지고 와서 기초를 설명하고자 합니다. 아마 이 책을 다 읽고 나면 파이썬이, 또 파이썬으로 수행하는 데이터 분석의 세계가 아주 흥미롭다는 것을 알게 될 것입니다
이 책의 특징
- Pandas, Matplotlib, numpy, folium, KoNLPy, Beautiful Soup, Selenium 등 데이터 분석과 시각화에 필요한 많은 모듈을 다룬다.
- 정확한 목표를 가진 실제 프로젝트를 다수 수행하면서 프로젝트 단위로 데이터 분석을 학습할 수 있다.
- 파이썬이 처음인 독자라도 프로젝트를 수행할 수 있도록 설명한다.
- 파이썬을 공부했지만 실제로 어디에 어떻게 적용하는지 궁금한 독자
- 데이터 분석을 통해 얻을 수 있는 결과를 학습과 동시에 경험하고 싶은 독자
- 프로그래밍 언어가 처음이지만 단기간에 성과를 얻고 싶은 독자
목차
- 서울시 구별 CCTV 현황 분석
- CCTV 현황과 인구 현황 데이터 구하기
- 파이썬에서 텍스트 파일과 엑셀 파일을 읽기 – pandas
- pandas 기초 익히기
- pandas를 이용해서 CCTV와 인구 현황 데이터 파악하기
- pandas 고급 기능 – 두 DataFrame 병합하기
- CCTV 데이터와 인구 현황 데이터를 합치고 분석하기
- 파이썬의 대표 시각화 도구 Matplotlib
- CCTV 현황 그래프로 분석하기
- 서울시 범죄 현황 분석
- 데이터 획득하기
- pandas를 이용하여 데이터 정리하기
- 지도 정보를 얻을 수 잇는 Google Maps
- Google Maps를 이용해서 주소와 위도, 경도 정보 얻기
- pandas의 pivot_table 학습하기
- Pivot_table을 이용해서 데이터 정리하기
- 데이터 표현을 위해 다듬기
- 좀 더 편리한 시각화 도구 – Seaborn
- 범죄 데이터 시각화하기
- 지도 시각화 도구 – Folium
- 서울시 범죄율에 대한 지도 시각화
- 서울시 경찰서별 검거율과 구별 범죄 발생율을 동시에 시각화하기
- 시카고 샌드위치 맛집 분석
- 웹 데이터를 가져오는 Beautiful Soup 익히기
- 크롬 개발자 도구를 이용해서 원하는 태그 찾기
- 실전: 시카고 샌드위치 맛집 소개 사이트에 접근하기
- 접근한 웹 페이지에서 원하는 데이터 추출하고 정리하기
- 다수의 웹 페이지에 자동으로 접근해서 원하는 정보 가져오기
- Jupyter Notebook에서 상태 진행바를 쉽게 만들어주는 tqdm 모듈
- 상태 진행바까지 적용하고 다시 샌드위치 페이지 50개에 접근하기
- 50개 웹 페이지에 대한 정보 가져오기
- 맛집 위치를 지도에 표기하기
- 네이버 영화 평점 기준 영화의 평점 변화 확인하기
- 영화별 날짜 변화에 따른 평점 변화 확인하기
- 셀프 주유소는 정말 저렴할까
- Selenium 사용하기
- 서울시 구별 주유소 가격 정보 얻기
- 구별 주유 가격에 대한 데이터의 정리
- 셀프 주유소는 정말 저렴한지 boxplot으로 확인하기
- 서울시 구별 주유 가격 확인하기
- 서울시 주유 가격 상하위 10개 주유소 지도에 표기하기
- 우리나라 인구 소멸 위기 지역 분석
- 목표 명확히 하기
- 인구 데이터 확보하고 정리하기
- 인구 소멸 위기 지역 계산하고 데이터 정리하기
- 대한민국 지도 그리는 방법에 대한 소개
- 지도 시각화를 위해 지역별 고유 ID 만들기
- Cartogram으로 우리나라 지도 만들기
- 인구 현황 및 인구 소멸 지역 확인하기
- 인구 현황에서 여성 인구 비율 확인하기
- Folium에서 인구 소멸 위기 지역 표현하기
- 19대 대선 결과 분석
- Selenium과 Beautiful Soup을 이용한 데이터 획득 준비 작업
- 19대 대선 개표 결과 데이터 획득하기
- 각 후보의 득표율과 지역 ID 정리
- 19대 대선 결과 득표율 시각화하기
- 시계열 데이터를 다뤄보자
- Numpy의 polyfit으로 회귀(regression) 분석하기
- Prophet 모듈을 이용한 forecast 예측
- Seasonal 시계열 분석으로 주식 데이터 분석하기
- Growth Model과 Holiday Forecast
- 자연어 처리 시작하기
- 한글 자연어 처리 기초 - KoNLPy 및 필요 모듈의 설치
- 한글 자연어 처리 기초
- 워드 클라우드
- 육아휴직 관련 법안에 대한 분석
- Naïve Bayes Classifier 의 이해 – 영문
- Naïve Bayes Classifier 의 이해 – 한글
- 문장의 유사도 측정하기
- 여자친구 선물 고르기
'Theory > Review' 카테고리의 다른 글
책리뷰) 엣지있게 설명한 텐서플로우 (24) | 2018.01.22 |
---|---|
책리뷰) 딥러닝 부트캠프 with 케라스 (28) | 2018.01.11 |
책 리뷰) Wolfram 언어 기초 입문 (4) | 2017.12.26 |
PinkWink의 데이터 사이언스 관련 책이 출판됩니다. - 파이썬으로 데이터 주무르기 (112) | 2017.12.20 |
수술용 로봇 다빈치의 리서치 킷을 이용한 오픈 소스 플랫폼 개발에 관련된 논문 (6) | 2016.05.18 |
길 찾기. Path Finding에 관한 논문 (6) | 2011.10.03 |
공학도 예술이 될까?? Kinetic Artist - Theo Jansen (14) | 2011.07.25 |
초보 공학도에게 추천하는 책 - 칼만필터의 이해 (24) | 2011.07.08 |
안녕하세요. 책에 일부 파일들의 다운로드 방법에 대해 문의 드립니다. https://github.com/PinkWink/DataScience/tree/master/data/01. population_in_Seoul.xls ==> 다운로드 가능. 하지만 같은 폴더에 있는 01. CCTV_result.csv 또는 03. test_first.html 등 다운로드 버튼이 없는 파일들은 어떻데 다운 받나요?
책 사서 열심히 공부하고 있는데 막히는 부분이 있어서 질문드립니다!
2장 공부중에 터미널에서
pip install googlemaps로 설치하고 pip list로 확인해보면 googlemaps 3.0.2 가 설치되어 있는것이 확인되는데, 주피터 노트북에서
import googlemaps 했을 때 ModuleNotFoundError: No module named 'googlemaps' 라고 에러가 나서 진행을 할 수가 없습니다. 답변 부탁드려요!ㅎㅎ
7장 fbprophet 다운로드 하는 과정좀 상세하게 설명해주시면 감사하겠습니다.. 이틀째 진도를 못나가고 있어요 ㅜ
비밀댓글입니다
비밀댓글입니다
안녕하세요! 이 책으로 이제 막 시작하는 독자입니다.
모듈들을 책 13페이지에 있는 버젼으로 재설치하려니 자꾸 설치 실패가 뜨는 모듈들이 몇 개 있습니다ㅠㅠ 그래서 그냥 최신버전으로 깔아서 1장부터 하고 있는데... 왜 설치 실패가 뜨는 걸까요?ㅜㅜ
안녕하세요 책 보고 따라하고 공부하고 있습니다.
4장 셀프 주유소는 정말 저렴할까 파트부분에서
selenium을 사용하여 네이버로 로그인 하는 부분이 있는데,
기본 naver.com의 메인 페이지의 로그인 부분이 바뀌었습니다.
그래서 로그인 페이지로 이동되어 로그인 해야 합니다.
네이버로 로그인 하는 페이지가, 책의 집필 당시와 현재와 상이하여
예제 및 다른 것들이 실행되지 않습니다.
변경된 예제나 다른 방법은 없나요?
확인 부탁드려요 :D
방법을 알려주시길 바랍니다.
셀프주유소 챕터에서 네이버 자동로긴 안되고 자동문자입력하라고 막혀요 ㅠㅠ;;
해법좀요 핑크윙키니뮤ㅠㅠㅠㅠ
안녕하세요! 쓰신 책으로 1장을 배워나가는 초짜입니다. ^^
오타 수정 관련인데요~
P54, 밑에서 세 번째 줄, 0.7 이하면 뚜렷한 상관관계 --> 0.7 이상이면 뚜렸한 상관관계
라고 되어있는데, 처음에 쓰신 '뚜렷' 이 맞습니다. '뚜렸' 이란 표현은 없어요~ ^^
열심히 공부하겠습니다! 좋은 책 써주셔서 고맙습니다~ ^^
안녕하세요, 자기주도학습시간에 빅데이터에 대해서 공부하고 싶어서 일단 무턱대고 책을 구매해서 하루에 1장씩 따라하고 있습니다.
너무 친절하게 설명해주시고 github에 수정사항이 빼곡히 잘 나와있어서 너무 좋았습니다. 이러한 좋은 책을 출판해주셔서 감사합니다. 제가 질문이 하나 있는데 4-2 주유소 가격 정보 얻기 ln [11] 에서 driver.get("https://www.opinet.co.kr/searRgSelect.do") 을 하면 지역별로 검색할 수 있는 구글맵 같은 것이 떠야하는데 그게 아니라 주유소 메인 창으로 저절로 redirect 되더라구요. 그래서 불편하지만 메인페이지에서 한번 더 저 주소로 driver.get 하면 그제야 지역별로 넘어가집니다; x-path click 코드로 들어가보려 했으나 주유소/충전소 찾기 클릭 후 지역별 부분을 개발자도구로 찍어보니 javascript:gopageNet 이런식으로 뜨는데 이런경우 js-path를 써서 click해야 하는지... 너무 긴 질문을 해서 죄송합니다. 바쁘시면 제 감사인사만 받아주셔도 상관없습니다.
현재 4장 학습중에 xcode를 이용해 로그인을 시도하고 있습니다. 하지만 최근 네이버 로그인 보안 강화문제로.. 다른 로그인창으로 이동해 로그인을 시도하도록 하고있고, 이에 맞춘 xcode 추출 이후 로그인을 시도하고있는데, 비정상적 로그인 시도로 간주하는지 보안코드를 (그림을 주고 1E4FGD와 같은 형식으로 입력하라는 것) 입력하도록 하여 로그인을 못하고 있습니다. 이 문제를 어떻게 해결할 수 잇을지요?
안녕하세요!
영국으로 business analytics 석사에 진학할 학생입니다.
학부 전공이 일반경영이라, 가기 전에 '파이썬으로 데이터 주무르기'로 파이썬을 공부하고자 합니다.
다름이 아니라, 제 github에 이 책에 나와있는 코드를 올려도 가능한지 여쭤보고자 합니다.
출판 된 책의 내용을 똑같이 올리는 것과 마찬가지로 코드를 올리는 것도 도용?이라고 생각이 들어서
이런 것을 여쭤보는 것 자체가 이상하지만, 혹시나해서 여쭤봅니다.
이 책에 담겨있는 6가지의 프로젝트를 올리기 전에,
1) 출처 및 허락을 구한 것을 정확히 명시하고
2) 내용은 한글를 영어로 수정할 계획이며, 가능하다면 해외(주로 영국) 데이터로 사용할 것이고
3) 목적은 영국에서 취업을 할 때 github를 포트폴리오로 제출하려고 합니다.
황당한 부탁일 것으로 예상되나 용기내어 글을 남깁니다.
감사합니다.
안녕하세요. 저 멀리 해외에서 공부 중인 유학생입니다. 한국에 방학 때 교보에서 진짜 딱 보자마자 이거다 하고 사와서 공부 중입니다. 좋은 책 써주셔서 감사말씀 먼저 드리구요! 질문 좀 드려도 될까요? 혹시 유사한 질문 받으신 적이 있다면 링크라도 걸어주실 수 있을까요 ㅠ? 독학이라 참 막막하네요..다른 개념서랑 같이 보고 있는데도, 이부분은 안나오기도 하고, 유튜브나 구글링해도 안나와서 정말 어렵게 질문드려요. ㅠㅠ ( 나중에 개정판 넣어주실때, 제가 궁금해 했던 점들에 대한 설명도 조금 추가해주시면 어떨까 하는 제안도 살짝 드려봅니다.)
꼭 좀 답변 부탁해주시면 감사하겠습니다..ㅠㅠ
1) 70p의 오차 구하는 원리..
data_result['오차'] = np.abs(data_result['소계']-f1(data_result['인구수']))
수학적 개념이긴 하지만 어떻게 접근하신 건지 간단히 설명 해주실 수 있을까요.. 문송합니다...
2) 71p 의 산점도 그래프 그릴 때, 컬러 옵션을 오차 결과로 하신거는, 오차 결과에 따라 색깔이 달라진다는 뜻인가요? 그 개념이 와닿지가 않아서요.. 좀 쉬운 설명을 부탁드려도 될까요.
plt.scatter(data_result['인구수'],data_result['소계'],
c=data_result['오차'],s=50)
3) 71p에서 plt. text 그리실때
for n in range(10):
plt.text(df_sort['인구수'][n]*1.02,df_sort['소계'][n]*0.98,
df_sort.index[n],fontsize=15)
x, y 에 각각 1.02, 0.98 붙이신 이유가 너무 궁금합니다 ㅠㅠㅠㅠㅠㅠㅠ
메일로도 답변 해주실 수 있을까요? 저도 블로그 들어와 확인해볼게요 ㅠㅠ sdhera@naver.com
안녕하세요. 책으로 잘 공부하고 있습니다. 그런데 '시계열을 다루워 보자'라는 파트에서 7-2와 7-3이 전부다 처음 임포트 단계에서부터 작동을 하지 않네요. 출판된 이후 무언가가 바껴서 안되는 건지 아니면 제가 잘 못해서 안되는 건지 궁금합니다. 참고로 깃허브에 있는 코드그대로 복사 붙여넣기해도 안되더라구요.
<7-2 파트 처음 부분에러>
TypeError: __init__() got an unexpected keyword argument 'yearly_seasonality'
<7-3 파트 처음 부분에러>
ModuleNotFoundError: No module named 'fix_yahoo_finance'
1장 최근 제가 다운 받은 data가 int가 아니라 연산이 안되는 것 같은데...
p43> pop_seoul['외국인 비율']=pop_seoul['외국인']/pop_seoul['인구수']*100
.....
astype 으로 변환해도 안되구.
해결할 수 없네요.ㅠㅠ
162 페이지 In[20]에서
label 이름지정이 빠진거 같습니다.
코드 그대로 실행하면 범례가 생성되지 않더라구요
In [10]:
def append_data(df, sido_name, data):
for each in df[0].values[1:]:
data['광역시도'].append(sido_name)
data['시군'].append(each[0])
data['pop'].append(get_num(each[2]))
data['moon'].append(get_num(each[3]))
data['hong'].append(get_num(each[4]))
data['ahn'].append(get_num(each[5]))
6-2 내용입니다 each[2]의 경우 콤마가 포함되있더라도 int로 받아서 오류가 나더라구요
get_num을 빼야하는거같습니다!
그리고 6-2 내용 추가적으로 질문드립니다
In [9]:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
wait = WebDriverWait(driver, 10)
def move_sido(name):
element = driver.find_element_by_id("cityCode")
element.send_keys(name)
make_xpath = """//*[@id="searchBtn"]"""
wait.until(EC.element_to_be_clickable((By.XPATH,make_xpath)))
driver.find_element_by_xpath(make_xpath).click()
예제로 move_sido('서울특별시') 를 넣었더니 option은 선택됐지만 검색버튼이 클릭이 안되더라구요
어떻게 해결하면 될까요?
비밀댓글입니다
파이썬으로 데이터 주무르기 책을 구입하여 공부하고 있습니다.
driver.get("http://www.opinet.co.kr/searRgSelect.do")
실행했을때 해당 URL로 가지 않고 메인페이지인 http://www.opinet.co.kr/으로 가져서
다음을 진행 못하고 있습니다. 팝업창도 나오고 해서 다른 방법으로 팝업은 종료시키는 것 까지 했으나,
해당 http://www.opinet.co.kr/searRgSelect.do 으로 연결할 방법이 없습니다.
공부 중에 에러가 나서 문의드립니다!
1장 50쪽에서 join_axes=[df1.index] 사용하는 부분에서 다음과 같은 에러가 납니다
TypeError: concat() got an unexpected keyword argument 'join_axes'