Giter Site home page Giter Site logo

datascience's People

Contributors

alstn2468 avatar pinkwink avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

datascience's Issues

1장 서울시 구별 CCTV현황 분석 질의

안녕하세요~! 최근에 파이썬에 입문한 겸 책을 구매해서 수행중에 문의 드릴 내용이 있어서 글 남겨 봅니다.

1장 26페이지 튜토리얼 파트입니다만, 같은 코드로 작성시 "FileNotFoundError"가 발생합니다.

<그림 참조>
prefix_none

코드를 CCTV_Seoul = pd.read_csv(r'C:\DataScience\data\01.CCTV_in_Seoul.csv', encoding='utf-8')과 같이 수정하면 실행이 잘됩니다.

prefix_r

번거로우시겠지만, 혹시 앞 문자열 'r'을 왜 써야하는지 알 수 있을까요?

2장, P80 코드 5번 에러나네요.

googlemaps 인스톨 되어 있고 그 이전 코드 1 ~ 4 모두 입력 잘 됩니다.

In[5]: gmaps.geocode('서울중부경찰서', language = 'ko')

입력하고 나니 아래와 같이 에러가 어마무시 하네요..


Error Traceback (most recent call last)
~\Anaconda3\lib\site-packages\urllib3\contrib\pyopenssl.py in wrap_socket(self, sock, server_side, do_handshake_on_connect, suppress_ragged_eofs, server_hostname)
440 try:
--> 441 cnx.do_handshake()
442 except OpenSSL.SSL.WantReadError:

~\Anaconda3\lib\site-packages\OpenSSL\SSL.py in do_handshake(self)
1906 result = _lib.SSL_do_handshake(self._ssl)
-> 1907 self._raise_ssl_error(self._ssl, result)
1908

~\Anaconda3\lib\site-packages\OpenSSL\SSL.py in _raise_ssl_error(self, ssl, result)
1638 else:
-> 1639 _raise_current_error()
1640

~\Anaconda3\lib\site-packages\OpenSSL_util.py in exception_from_error_queue(exception_type)
53
---> 54 raise exception_type(errors)
55

Error: [('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')]

During handling of the above exception, another exception occurred:

SSLError Traceback (most recent call last)
~\Anaconda3\lib\site-packages\urllib3\connectionpool.py in urlopen(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, **response_kw)
600 body=body, headers=headers,
--> 601 chunked=chunked)
602

~\Anaconda3\lib\site-packages\urllib3\connectionpool.py in _make_request(self, conn, method, url, timeout, chunked, **httplib_request_kw)
345 try:
--> 346 self._validate_conn(conn)
347 except (SocketTimeout, BaseSSLError) as e:

~\Anaconda3\lib\site-packages\urllib3\connectionpool.py in _validate_conn(self, conn)
849 if not getattr(conn, 'sock', None): # AppEngine might not have .sock
--> 850 conn.connect()
851

~\Anaconda3\lib\site-packages\urllib3\connection.py in connect(self)
325 server_hostname=hostname,
--> 326 ssl_context=context)
327

~\Anaconda3\lib\site-packages\urllib3\util\ssl_.py in ssl_wrap_socket(sock, keyfile, certfile, cert_reqs, ca_certs, server_hostname, ssl_version, ciphers, ssl_context, ca_cert_dir)
328 if HAS_SNI: # Platform-specific: OpenSSL with enabled SNI
--> 329 return context.wrap_socket(sock, server_hostname=server_hostname)
330

~\Anaconda3\lib\site-packages\urllib3\contrib\pyopenssl.py in wrap_socket(self, sock, server_side, do_handshake_on_connect, suppress_ragged_eofs, server_hostname)
447 except OpenSSL.SSL.Error as e:
--> 448 raise ssl.SSLError('bad handshake: %r' % e)
449 break

SSLError: ("bad handshake: Error([('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')],)",)

During handling of the above exception, another exception occurred:

MaxRetryError Traceback (most recent call last)
~\Anaconda3\lib\site-packages\requests\adapters.py in send(self, request, stream, timeout, verify, cert, proxies)
444 retries=self.max_retries,
--> 445 timeout=timeout
446 )

~\Anaconda3\lib\site-packages\urllib3\connectionpool.py in urlopen(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, **response_kw)
638 retries = retries.increment(method, url, error=e, _pool=self,
--> 639 _stacktrace=sys.exc_info()[2])
640 retries.sleep()

~\Anaconda3\lib\site-packages\urllib3\util\retry.py in increment(self, method, url, response, error, _pool, _stacktrace)
387 if new_retry.is_exhausted():
--> 388 raise MaxRetryError(_pool, url, error or ResponseError(cause))
389

MaxRetryError: HTTPSConnectionPool(host='maps.googleapis.com', port=443): Max retries exceeded with url: /maps/api/geocode/json?address=%EC%84%9C%EC%9A%B8%EC%A4%91%EB%B6%80%EA%B2%BD%EC%B0%B0%EC%84%9C&language=ko&key=AIzaSyAgKQUuaXySHFhpHYoC8_Qwdo4AV3SsEtU (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')],)",),))

During handling of the above exception, another exception occurred:

SSLError Traceback (most recent call last)
~\Anaconda3\lib\site-packages\googlemaps\client.py in _request(self, url, params, first_request_time, retry_counter, base_url, accepts_clientid, extract_body, requests_kwargs, post_json)
235 response = requests_method(base_url + authed_url,
--> 236 **final_requests_kwargs)
237 except requests.exceptions.Timeout:

~\Anaconda3\lib\site-packages\requests\sessions.py in get(self, url, **kwargs)
524 kwargs.setdefault('allow_redirects', True)
--> 525 return self.request('GET', url, **kwargs)
526

~\Anaconda3\lib\site-packages\requests\sessions.py in request(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)
511 send_kwargs.update(settings)
--> 512 resp = self.send(prep, **send_kwargs)
513

~\Anaconda3\lib\site-packages\requests\sessions.py in send(self, request, **kwargs)
621 # Send the request
--> 622 r = adapter.send(request, **kwargs)
623

~\Anaconda3\lib\site-packages\requests\adapters.py in send(self, request, stream, timeout, verify, cert, proxies)
510 # This branch is for urllib3 v1.22 and later.
--> 511 raise SSLError(e, request=request)
512

SSLError: HTTPSConnectionPool(host='maps.googleapis.com', port=443): Max retries exceeded with url: /maps/api/geocode/json?address=%EC%84%9C%EC%9A%B8%EC%A4%91%EB%B6%80%EA%B2%BD%EC%B0%B0%EC%84%9C&language=ko&key=AIzaSyAgKQUuaXySHFhpHYoC8_Qwdo4AV3SsEtU (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')],)",),))

During handling of the above exception, another exception occurred:

TransportError Traceback (most recent call last)
in ()
----> 1 gmaps.geocode('서울중부경찰서', language = 'ko')

~\Anaconda3\lib\site-packages\googlemaps\client.py in wrapper(*args, **kwargs)
363 def wrapper(*args, **kwargs):
364 args[0]._extra_params = kwargs.pop("extra_params", None)
--> 365 result = func(*args, **kwargs)
366 try:
367 del args[0]._extra_params

~\Anaconda3\lib\site-packages\googlemaps\geocoding.py in geocode(client, address, components, bounds, region, language)
66 params["language"] = language
67
---> 68 return client._request("/maps/api/geocode/json", params).get("results", [])
69
70

~\Anaconda3\lib\site-packages\googlemaps\client.py in _request(self, url, params, first_request_time, retry_counter, base_url, accepts_clientid, extract_body, requests_kwargs, post_json)
238 raise googlemaps.exceptions.Timeout()
239 except Exception as e:
--> 240 raise googlemaps.exceptions.TransportError(e)
241
242 if response.status_code in _RETRIABLE_STATUSES:

TransportError: HTTPSConnectionPool(host='maps.googleapis.com', port=443): Max retries exceeded with url: /maps/api/geocode/json?address=%EC%84%9C%EC%9A%B8%EC%A4%91%EB%B6%80%EA%B2%BD%EC%B0%B0%EC%84%9C&language=ko&key=AIzaSyAgKQUuaXySHFhpHYoC8_Qwdo4AV3SsEtU (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')],)",),))

책에서 사용하는 Conda 환경을 배포해 주세요.

안녕하세요. 책 잘 보고 있습니다. 한 가지 제안을 하고 싶은데요.

conda 환경을 이용하면 책에서 설명하고 있는 파이썬과 기타 패키지 버전 정보를 담은 YML 파일을 쉽게 만들 수 있고 그것을 다른 사람들에게 배포해서 모두 같은 환경을 빠르고 쉽게 구축할 수 있습니다.
현재 저자님께서 집필 당시에 사용하신 Python conda 환경 (아래에 DataScience로 환경 이름을 예로 들었습니다 ^^)에서 아래 명령어로 YML을 Export하셔서 이곳 GitHub에 배포해 주시면 독자들이 버전 차이로 인한 고생을 하지 않을 것 같습니다. Windows 운영체제 기준으로 예를 들었습니다.

# Exporting environment: 저자님께서 이렇게 YML 파일을 만드십니다.
activate DataScience
conda env export > DataScience.yml

# Importing environment: 독자들이 아래와 같이 해당 YML 파일로 저자님과 동일한 버전의 Python, 패키지 환경을  구축합니다.
conda env create --file DataScience.yml
activate DataScience

검토 부탁드립니다. ^^

2장 코드 11번 설명 좀 부탁 드립니다.

tmp = name.split()
tmp_gu = [ gu for gu in tmp if gu[-1] == '구'][0]

책을 보고 제가 코드를 이해하기로는

  • '대한민국 서울특별시 중구 저동2가 수표로 27' 로 된 경찰서 주소를 공백으로 분리 하는 거 까지는 알겠는데요

  • 그 다음 코드 줄 좀 설명 부탁드립니다.
    a. gu 가 의미하는 거
    b. 람다(?) 함수 형식으로 1줄로 표시된 거 같은데 잘 모르겠습니다. (풀어서 쓰면 어떻게 되는지)

감사합니다.

Chap2 90p 함수 사용 질문입니다.

파이썬 초보로 정말 유용하면서도 재미있게 따라하고 있습니다.

제가 궁금한것은 p90 out[27]의 실행 결과에 궁금한 것이 있습니다.

sum   mean  
65000 2 32500 1
5000 2 5000 2
10000 1 10000 1
105000 4 52500 2
10000 1 10000 1
35000 1 35000 1
5000 2 5000 2

위 결과를 보면 sum은 제대로 계산된것 같은데
mean의 값은 계산이 이상합니다. mean라면 산술평균이
나와야 할 것 같은데 mean은 값과 갯수가 이상합니다.

이러면 데이터 가공이 잘못된 것이 아닌가 궁금합니다.

7장 시계열 데이터

error

위와 같은에러가 뜹니다.

pip install도 책에 있는것과 동일하게 했구요..

뭐가 문제일까요..?

8장 314p, Navie Bayes Classifier 관련 오류 문의

안녕하세요 김혁입니다. NLP 요즘 학습을 하고 있는데요.
314p 분석에 이견이 있어서 제가 한 분석을 기술해 봅니다.

책/코드
[in]test_sentence = [("난 수업이 마치면 메리랑 놀거야")]
test_docs = Okt.pos(test_sentence[0])
test_docs
[out] [('난', 'Noun'),
('수업', 'Noun'),
('이', 'Josa'),
('마치', 'Noun'),
('면', 'Josa'),
('메리', 'Noun'),
('랑', 'Josa'),
('놀거야', 'Verb')]
[in] test_sent_features = {word: (word in tokens) for word in test_docs}
test_sent_features
[out] {('난', 'Noun'): False,
('놀거야', 'Verb'): False,
('랑', 'Josa'): False,
('마치', 'Noun'): False,
('메리', 'Noun'): False,
('면', 'Josa'): False,
('수업', 'Noun'): False,
('이', 'Josa'): False}
토큰에 단어가 있음에도 전부 False로 나온게, 애초 형태소 분석을 정의한 토크나이즈 함수로 해서 형태가 '난/noun' 이렇게 되어 있는 동일한 모양으로 형태소 분석을 해야 하는게 아는지요, Twitter(이름이 바뀐 Okt)로 형태소 분석을 하는게 아니구요,

제가 작성한 코드는
[in] test_data = []
for sentence in test_sentence:
test_data.extend(tokenize(sentence))
print (test_data)
[out] ['난/Noun', '수업/Noun', '이/Josa', '마치/Noun', '면/Josa', '메리/Noun', '랑/Josa', '놀다/Verb']

[in]print(tokens)
test_sent_features = {word: (word in tokens) for word in test_data}
test_sent_features
[out] ['메리/Noun', '가/Josa', '좋다/Adjective', '고양이/Noun', '도/Josa', '좋다/Adjective', '난/Noun', '수업/Noun', '이/Josa', '지루하다/Adjective', '메리/Noun', '는/Josa', '이쁘다/Adjective', '고양이/Noun', '야/Josa', '난/Noun', '마치/Noun', '고/Josa', '메리/Noun', '랑/Josa', '놀다/Verb']
{'난/Noun': True,
'놀다/Verb': True,
'랑/Josa': True,
'마치/Noun': True,
'메리/Noun': True,
'면/Josa': False,
'수업/Noun': True,
'이/Josa': True}

이렇게 코드를 바꾸면, test-sentence에 있는 단어들의 T/F 값이 기존 전부 False에서 바뀌게 되고
분류기를 돌리면 부정으로 결과값이 바뀌어서 나오게 됩니다.
[in] classifier.classify(test_sent_features)
[out] 'neg'

요게 맞는거 아닌가 해서 의견 한 번 구해봅니다.
감사합니다.

책 86페이지 하단 코드 오류 있습니다.

금천서의 구를 관악구에서 금천구로 바꾸는 과정에서, 코드도 오류가 있고, 코드 이미지도 오류가 있습니다. (깃허브에 올리신 코드는 정상인데 단순 오타인듯 합니다.)
오타 정정 내용을 README.md에 추가하시면 어떨까 합니다. 책 읽으면서 많은 도움 받고 있습니다!

  • 87 페이지에도 ccrime_anal_police 라고 c 가 하나 더 붙은 오타가 있습니다.

malgun font 관련 문의

안녕하세요.

예전부터 pinkwink님 블로그 방문하다가 책쓰셨다고해서 받아서 공부 중에 있는 팬중에 1명입니다.
책보고 공부 열심히 하는 중에 있는데요,

한글 font 관련하여서 malgun.ttf도 없고, 인터넷 상에서 받아서 설치해도 잘 깔리지 않네요.
혹시 window 10 사용 중이시면 저와 같은 사람을 위해서 올려주실 수 있는지 문의 드립니다.

감사합니다.

4장 174페이지 clear() 에서 에러남

4장 174페이지 clear() 에서 에러나네요

3

일단, call function result missing value
session info chrome = 69.0.3497.100
driver info : chromedriver = 2.33.506120 (e3 어쩌고 저쩌고 ), platform=windows NT 6.3.9600 x86_64 라며
webdriverException 발생합니다.

다음명령도 시험해보면 동일한 에러 납니다.
2

뭐가 문제일까요 driver도 여기 에 있는 driver 2개 복사해두었고 selenium도 마찬가지로 3.5.0 버젼으로 여기서 설명한대로 pip install selenium==3.5.0 으로 해서 제대로 설치 했는데요 ?

그런데 xpath = ......
driver.........click() 이 부분은 실해하면 잘동작합니다.

질문드립니다.

52페이지 merge부분에서 how를 left로 하면 left DataFrame에 맞게 k0, k4, k2, k3순으로 나오는데 right로 하면 k0, k2, k3, k1순으로 나오는지 알고싶습니다!

6장 19대 대선결과 분석 구문오류

저만 그런지 모르겠는데 Github 소스 In[10]에서

data['pop'].append(get_num(each[2])) 구문이 말썽을 좀..ㅎ

앞서 get_num이 "("왼쪽 데이터를 가져오고 "(,)콤마"를 제거하는 함수인데,

pop은 괄호가 없어서 그런지 오류가 계속 발생했어요~

그래서 data['pop'].append(get_num(each[2])) 구문을

data['pop'].append(each[2])로 변경해서 잘 실행됬습니다~!

13page

하단에 모듈명 numpy 3.2.3 , numpy 1.12.1 라고 적혀있는데, numpy 3.2.3가 맞나요?

5장 zip 함수 관련

안녕하세요, 현재 파이썬으로 데이터 주무르기 책을 통해 데이터분석의 맛을 알아가는 데이터분석 꿈나무입니다. ^^
제가 5장을 열심히 하다가 221페이지 쯤 zip 함수를 쓰는 곳이 있는데,
for path in BORDER_LINES:
ys, xs = zip(*path) 부분에서 계속 오류가 뜹니다 ㅠㅠㅠㅠ

TypeError: zip argument #2 must support iteration
아무리 찾아봐도 해결책이 없어서 직접 올려봅니다. 행여 보시게 되면 답 좀 부탁드릴게욤 ㅠㅠ

데이터 병합할때 index 관련..

블로그에 댓글썻던 최인회입니다.

메일을 보내려고 파이썬 주무르기 책을 뒤져봤는데 비제이퍼블릭의 메일을 제외하곤 메일이 안보이네요 ㅠㅠ

그래서 불가피하게 여기에 써봅니다.

서울시 구별 주유가격과 구별 인구수의 상관관계를 알아보기 위해

아래 사진과 같이 구별 평균 주유가격 뽑는것 까지 했습니다
첨부 이미지
1

그리고 서울시 구별 인구수(엑셀)로 아래 사진과 같이 뽑았는데요.

2018-05-22 13 31 24

이 둘을 merge해서 상관관계를 알아보려고 했는데 gu_data(주유가격)의 경우 index가 구로 설정 돼있어 merge가 안됩니다

이럴때 population(서울시 구별 인구수)처럼 인덱스를 똑같이 설정해서 merge 해야 할것 같은데

마땅한 명령어를 잘 모르겠습니다.. 어떻게 해야 할까요 ..

초보라 막막합니다..

Chap8 nltk 설치

  1. 293p 책 설명을 보면 JDK설치후 JAVA_HOME설정을 하고 conda install -c conda-forge jpype1을 설치합니다. 그리고 터미널 상태에서 python IDE 실행해서 바로 import nltk하는데 원래 이것이 정상인가요? 저는 오류가 발생해서 pip install nltk를 해야했습니다.

  2. 설치가 잘 진행되고서도 In[1] 실행시 JDK설정오류가 나시는 분은 윈도우 재부팅을 해서 환경변수 설정한 JAVA_HOME이 다시 로딩될수 있도록 해보시길 추천 드립니다. 윈도우10인데 자동 적용이 안되는 경우도 있네요.

tips 오류입니다.

안녕하세요~
책 p98공부하고 있는데요.

tips = sns.load_dataset("tips")
tips.head(5)

라고 입력하니

OSError Traceback (most recent call last)
in ()
----> 1 tips = sns.load_dataset("tips")
2 tips.head(5)

C:\ProgramData\Anaconda3\lib\site-packages\seaborn\utils.py in load_dataset(name, cache, data_home, **kws)
411 full_path = cache_path
412
--> 413 df = pd.read_csv(full_path, **kws)
414 if df.iloc[-1].isnull().all():
415 df = df.iloc[:-1]

C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\parsers.py in parser_f(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, escapechar, comment, encoding, dialect, tupleize_cols, error_bad_lines, warn_bad_lines, skipfooter, doublequote, delim_whitespace, low_memory, memory_map, float_precision)
676 skip_blank_lines=skip_blank_lines)
677
--> 678 return _read(filepath_or_buffer, kwds)
679
680 parser_f.name = name

C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\parsers.py in _read(filepath_or_buffer, kwds)
438
439 # Create the parser.
--> 440 parser = TextFileReader(filepath_or_buffer, **kwds)
441
442 if chunksize or iterator:

C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\parsers.py in init(self, f, engine, **kwds)
785 self.options['has_index_names'] = kwds['has_index_names']
786
--> 787 self._make_engine(self.engine)
788
789 def close(self):

C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\parsers.py in _make_engine(self, engine)
1012 def _make_engine(self, engine='c'):
1013 if engine == 'c':
-> 1014 self._engine = CParserWrapper(self.f, **self.options)
1015 else:
1016 if engine == 'python':

C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\parsers.py in init(self, src, **kwds)
1706 kwds['usecols'] = self.usecols
1707
-> 1708 self._reader = parsers.TextReader(src, **kwds)
1709
1710 passed_names = self.names is None

pandas_libs\parsers.pyx in pandas._libs.parsers.TextReader.cinit()

pandas_libs\parsers.pyx in pandas._libs.parsers.TextReader._setup_parser_source()

OSError: Initializing from file failed

라고 메시지가 나옵니다. 해결방법이 있는지 궁금합니다~

Chap7 cannot import name 'is_list_like' error

p267
import pandas_datareader.data as web에서
is_list_like에러가 발생합니다.
현재 pandas_datareader version 0.6.0 인데 차기 버전인 0.7.0에서 수정이 된다고 합니다.
그전에 해결 방법 몇가지가 있으니 참고하시기 바랍니다.
링크연결

prophet import 에러

----> 9 from fbprophet import Prophet
10 from datetime import datetime

ModuleNotFoundError: No module named 'fbprophet'

7장 첫 코드 실행시 위와같은 에러가 뜹니다.

깔려있는 버전은 아래와 같고, 맥 OS 입니다.
prophet 0.1.1
pystan 2.18.0.0

혹시해서 pip install fbprophet도 해봤는데, 아래같은 에러로 설치가 안됩니다.ㅠㅠ
error: command 'gcc' failed with exit status 1

8장 자연어 처리 시작하기

안녕하세요 선생님, 선생님의 책으로 파이썬을 공부하고 있는 학생입니다.
8-8 여자친구 선물 고르기를 공부하던 도중 계속 오류가 발생하고 있어서 다음으로 넘어가지 못하고 있습니다.
dasdas
ads
무엇이 문제인가요...

교재 2장 전반부 내 오탈자

  1. 77p 살인, 강도, 강도 --> 강도 두번 언급, 하나 삭제 필요
  2. 79p 그림 2-7과 같이 --> 2-9 예시화면이 맞음
  3. 86p output 13번 table의 컬럼명이 하나씩 밀려서 표현됨, 예) 관서명 3

1장 CCTV_Seoul 소계

안녕하세요,

이제 막 파이썬 공부를 시작한 학생입니다.
26쪽부터 CCTV_Seoul 관련 자료에 2013년 이전 - 2016년까지는 CCTV 숫자가 같은데 '소계' column 전체로 다른 숫자가 떠서 확인해본 결과, 자료가 잘못 찍힌 것 같습니다.
(예시: 강남구 '3238' 대신 '2780' 명시)
img_6013
capture
계산기로도 확인해보고 정부자료도 보면 '3238'로 나와있어 강남구 뿐만 아니라 구별 '소계' column 전체로 책에 오류가 확실하여 적어드립니다.
좋은 책 써주셔서 재밌게 공부하던 도중 혹시라도 도움이 될까봐 글 드립니다. 감사합니다.

5장 Cartogram으로 우리나라 지도 만들기 에서 BORDERLINE 그리기 설명관련

안녕하세요? 책을 재밌게 보고 있는 독자입니다.

221 page 설명에 "invert_yaxis() 가 되어 있는 이유는 y축이 엑셀에서 0번이 시작하는 것과 matplotlib 가
0이라고 인식하는 좌표가 서로 반대이기 때문입니다." 이 부분 설명이요.

제가 판단하기에는 draw_korea_raw.xlsx 파일의 좌표를 행/열을 반대로 변환했을 경우
BORDER_LINES List 에 나온 값이 나와서 이를 그대로 그리면 y <-> x가 서로 뒤바뀌기 때문에
마지막에 invert_yaxis 를 한 것 같습니다.

즉, 애초에 draw_korea_raw.xlsx 그대로 좌표를 메기면 invert_yaxis() 를 할 필요가 없었던거
같은데 책의 설명이 좀 맞지 않는거 같습니다.

1장 71page

plt.text 열에 *1.02 랑 *0.98이 들어가는이유가 뭔가요?
지워도 결과는 같은데 이유가 있는지 궁금합니다.

plt.figure(figsize=(14,10))
plt.scatter(data_result['인구수'],data_result['소계'],c = data_result['오차'],s=50)
plt.plot(fx,f1(fx),ls = 'dashed', lw = 3,color = 'g')
for n in range(12):
plt.text(df_sort['인구수'][n]*1.02,df_sort['소계'][n]*0.98,df_sort.index[n],fontsize=15)

plt.xlabel('소계')
plt.ylabel('인구당비율')
plt.show()

6장 대선결과 예측에서 수정할 부분

  1. 첨부해두신 chrome driver를 사용하려고 하면 valid하지 않다고 해서 새로 driver를 다운 받았습니다.
    그런데, 이 때도 아무거나 받으면 send_keys("제19대")에서 오류가 나더라구요. 최신버전을 다운 받아야 하는 것 같습니다.
    https://chromedriver.storage.googleapis.com/index.html?path=2.39/ 에 있습니다.

  2. append_data 함수에서

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(each[2])                    <-get_num(each[2]) 였는데 get_num이 필요없을 것 같습니다. 받아온 자료가 애초부터 괄호가 없습니다.
        data['moon'].append(get_num(each[3]))
        data['hong'].append(get_num(each[4]))
        data['ahn'].append(get_num(each[5]))

좋은 자료 업로드 감사합니다!

3장에 나오는 정규식(re.split()) 관해 문의 드립니다.

2018-05-18 11 46 45

사실 이 책은 정규식 관한 내용은 아니지만의 책을 보다 궁금해서 그냥 넘어 못가겠네요.딴데 물어도 답이 없고 해서 여기에 문의드립니다.

위치 : 3장 시카고 샌드위치 맛집 분석 In [37] , In [39]

"BLT\r\nOld Oak Tap\nRead more"을 패턴 '\n|\r\n'로 split하는 건데요, 이게 ['BLT\r', 'Old Oak Tap', 'Read more '] 이런 식으로도 나울수 있는거 아닌가요?

re.split()는 어떻게 BLT와 Old Oak Tap 사이를 \n이 아닌 \r\n패턴으로 분할해야 하는지를 알까요?

경로설정에 관해 질문 드립니다

안녕하세요 선생님
파이썬을 처음하는 접하는 학생입니다. 책을 공부하고 싶으나 경로 문제가 발생하였습니다.
C:\Users\MYCOM\Documents\Datascience
Datascience 폴더 아래에 source_code, data 폴더를 각각 만들고, source_code 폴더에 주피터 노트를 작성하였습니다. 그러나 다음과 같은 오류가 발생합니다.

[1] import pandas as pd

[2] import os
print(os.getcwd())

(출력) C:\Users\MYCOM\Documents\Datascience\source_code

[3] CCTV_Seoul = pd.read_csv('../data/01. CCTV_in_Seoul.csv', encoding='utf-8')
CCTV_Seoul.head()

(출력) UnicodeDecodeError Traceback (most recent call last)
in ()
----> 1 CCTV_Seoul = pd.read_csv('../data/01. CCTV_in_Seoul.csv', encoding='utf-8')
2 CCTV_Seoul.head()

네이버 첫화면 로그인 https

xpath = """//*[@id="account"]/div/a/i"""
driver.find_element_by_xpath(xpath).click()

아이디랑 비번 치기 전에 이제 페이지 넘어가야되가지고
위에 코드 입력해야되욥

좋은 교재 감사합니다 👍

-김학건-

2장. 2-9 진행중 folium 실행시 지도가 나오지 않습니다.

In[82], [83] 내용 입력후 실행하게 되면, Out[83] 값에 화면이 하얗게 나오네요.

혹시 몰라서 folium 실행전

  • import googlemaps
  • gmaps_key = "키 번호"
    gmaps = googlemaps.Client(key=gmaps_key)

위 두 값을 실행시키고 해도 변화되는게 없어서요, 해결 방법 문의드립니다.

Chapter 6 ipynb파일 오탈자

In[32] : 위에 Comment 오타있습니다.

6-4. 19대 대선 결과 특표율 시각화하기 오타있습니다.

6-4. 19대 대선 결과 득표율 시각화하기

pd.pivot_table(df,index=["Name"])

나타나는 현상 질문입니다..

p88에서

pd.pivot_table(df,index=["Name"]) 을 실행하고나면

image

위 그림과 같이 Name이 Account, Price, Quantity 등과 다른 줄에 나타나는건 왜인가요?

boxplot는 데이터의 어떠한 면을 보여주나요?

boxplot는 데이터의 분포 범위를 나타내는줄 알고 쭉 읽었는데
4장에서 swarmplot를 만나니 아차 이게 정확한 범위를 알려주는게 아니구나 하는 생각이 드네요.

boxplot로 표현하는 데이터(상한, 하한)는 pandas data와는 일치하지 않네요,
그럼 boxplot는 무엇을 보여주려는 것이지요?

2018-06-02 6 34 46

Chap7 pip install pystan 에러

7장 처음에 기본 설치 패키지중에

  1. visual C++ builder는 이제 stand alone은 지원하지 않는것 같습니다. Visual Studio를 깔아야 할 것 같습니다. 원하는 기능만 골라서 깔면 되겠지만 정확하게 builder기능만 고르는게 쉽지가 않아서...

  2. pip install pystan 설치 에러
    Command "python setup.py egg_info" failed with error code 1 in 경로명.....
    위와 같이 에러가 나와서 pystan홈페이지에 가서 맥엔 리눅스 방법으로 깔았는데. 저는 윈10+아나콘다3입니다. pip list에는 올라오네요.
    제대로 깔린거겠죠? 7장에 pystan import가 없던데 꼭 깔아야 하는지요? 다른 분은 에러가 안나는지 궁금하네요.

1장에 유니코드 에러

처음 파일을 다운로드 후 csv파일을 열려고 하는데, 아래와같은 에러코드가 계속 뜹니다. 어떻게 해야되는걸까요?
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x95 in position 0: invalid start byte

screen shot 2018-09-12 at 5 46 17 pm

174p In[4] 로그인 화면이 바뀌어서 에러가 납니다

html 소스 코드를 확인하면 id= 라는 항목에서 id 대신 id_area, pw 대신 pw_area라고 바뀐 것 같지만
코드를 실행해보면 다음과 같은 에러가 뜹니다

NoSuchElementException Traceback (most recent call last)
in ()
----> 1 elem_login = driver.find_element_by_id("id_area")
2 elem_login.clear()
3 elem_login.send_keys("ㅓㅓㅓ")
4
5 elem_login = driver.find_element_by_id("pw_area")

~\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py in find_element_by_id(self, id_)
357 element = driver.find_element_by_id('foo')
358 """
--> 359 return self.find_element(by=By.ID, value=id_)
360
361 def find_elements_by_id(self, id_):

~\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py in find_element(self, by, value)
964 return self.execute(Command.FIND_ELEMENT, {
965 'using': by,
--> 966 'value': value})['value']
967
968 def find_elements(self, by=By.ID, value=None):

~\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py in execute(self, driver_command, params)
318 response = self.command_executor.execute(driver_command, params)
319 if response:
--> 320 self.error_handler.check_response(response)
321 response['value'] = self._unwrap_value(
322 response.get('value', None))

~\Anaconda3\lib\site-packages\selenium\webdriver\remote\errorhandler.py in check_response(self, response)
240 alert_text = value['alert'].get('text')
241 raise exception_class(message, screen, stacktrace, alert_text)
--> 242 raise exception_class(message, screen, stacktrace)
243
244 def _value_or_default(self, obj, key, default):

NoSuchElementException: Message: no such element: Unable to locate element: {"method":"id","selector":"id_area"}
(Session info: chrome=68.0.3440.106)
(Driver info: chromedriver=2.41.578737 (49da6702b16031c40d63e5618de03a32ff6c197e),platform=Windows NT 10.0.16299 x86)

1장 CCTV csv파일 불러오기에 문제가 생긴 것 같습니다.

안녕하세요. <파이썬으로 데이터 주무르기>라는 책으로 입문한 사람입니다.
제가 csv파일 불러오기를 하고 있는데,
책에서 있는 대로 코드를 짜면 FilenotFoundError가 뜨며,
경로를 원래 속성에 있는 그대로 설정해서 코드를 짜면
문법 구문의 오류가 있다고 뜹니다.
무슨 문제일까요?
답변 부탁드립니다.
(참고로 파일명은 pandas로 바꿔놓았습니다.
default

Data download

csv데이터를 다운로드 받고 싶은데 메뉴가 없네요..어찌하면 되는건지요?

1장 TypeError: unsupported operand type(s) for /: 'float' and 'str'

안녕하세요? 1장 CCTV 코드 실행시 type 에러가 발생 하는데 환경 문제인지
코드 문제인지 모르겠습니다.

CODE

pop_Seoul['외국인비율'] = pop_Seoul['외국인'] / pop_Seoul['인구수'] * 100
pop_Seoul['고령자비율'] = pop_Seoul['고령자'] / pop_Seoul['인구수'] * 100
pop_Seoul.head()

===============에러=======================

TypeError Traceback (most recent call last)
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\ops.py in na_op(x, y)
657 result = expressions.evaluate(op, str_rep, x, y,
--> 658 raise_on_error=True, **eval_kwargs)
659 except TypeError:

C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\computation\expressions.py in evaluate(op, op_str, a, b, raise_on_error, use_numexpr, **eval_kwargs)
210 return _evaluate(op, op_str, a, b, raise_on_error=raise_on_error,
--> 211 **eval_kwargs)
212 return _evaluate_standard(op, op_str, a, b, raise_on_error=raise_on_error)

C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\computation\expressions.py in _evaluate_numexpr(op, op_str, a, b, raise_on_error, truediv, reversed, **eval_kwargs)
121 if result is None:
--> 122 result = _evaluate_standard(op, op_str, a, b, raise_on_error)
123

C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\computation\expressions.py in _evaluate_standard(op, op_str, a, b, raise_on_error, **eval_kwargs)
63 with np.errstate(all='ignore'):
---> 64 return op(a, b)
65

TypeError: unsupported operand type(s) for /: 'float' and 'str'

During handling of the above exception, another exception occurred:

TypeError Traceback (most recent call last)
in ()
----> 1 pop_Seoul['외국인비율'] = pop_Seoul['외국인'] / pop_Seoul['인구수'] * 100
2 pop_Seoul['고령자비율'] = pop_Seoul['고령자'] / pop_Seoul['인구수'] * 100
3 pop_Seoul.head()

C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\ops.py in wrapper(left, right, name, na_op)
719 lvalues = lvalues.values
720
--> 721 result = wrap_results(safe_na_op(lvalues, rvalues))
722 return construct_result(
723 left,

C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\ops.py in safe_na_op(lvalues, rvalues)
680 try:
681 with np.errstate(all='ignore'):
--> 682 return na_op(lvalues, rvalues)
683 except Exception:
684 if isinstance(rvalues, ABCSeries):

C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\ops.py in na_op(x, y)
662 result = np.empty(x.size, dtype=dtype)
663 mask = notnull(x) & notnull(y)
--> 664 result[mask] = op(x[mask], _values_from_object(y[mask]))
665 elif isinstance(x, np.ndarray):
666 result = np.empty(len(x), dtype=x.dtype)

TypeError: unsupported operand type(s) for /: 'float' and 'str'

1장에 71페이지 설명

1장에
for n in range(10):
plt.text(df_sort['인구수'][n]*1.02, df_sort['소계'][n]*0.98, df_sort.index[n], fontsize = 15)
의 해석이 무엇인지 궁금합니다.

반복문이 돌아갈때, 어떠한 현상이 일어나는건지 자세히 잘 모르겠습니다!
굳이 반복을 써야되는 이유가 있는지 아니면 반복문이 필요가 없다면 어떤 코드로 작성을 하면되는지 궁금합니다.
1.02와 0.98의 의미도 궁금합니다.

2장 googlemaps import error

유료화된 계정통해서 key를 받고 pip로 인스톨은 성공했다고 나오는데... 계속 import error가 뜹니다.
(ModuleNotFoundError: No module named 'googlemaps')

책에 적힌대로 Close and Halt 후, 재실행을 했고...
심지어 재부팅을 했는데도 마찬가지입니다.

답변 좀 부탁드릴게요... 몇 시간째... 답답하네요~

import googlemaps

crime_anal_police = pd.read_csv('../data/02. crime_in_Seoul.csv', thousands=',', encoding='euc-kr')
crime_anal_police.head()

gmaps_key = "???"
gmaps = googlemaps.Client(key=gmaps_key)

1장 서울시 구별 CCTV 현황 분서

image

안녕하세요?

파이썬을 막 시작한 학생입니다. 1장에서 파일을 읽어내는 데 애를 먹고 있는데요..
read_csv로 해도 그림과 같이 에러가 뜹니다.
구글에서 찾아봐서 //두번 치기 등등 다양한 방법을 시도해보았는데 도무지 진전이 없습니다..

혹 이런 경우에는 어떻게 처리해야하는지 알려주실 수 있나요?

감사합니다!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.