pinkwink / datascience Goto Github PK
View Code? Open in Web Editor NEW책) 파이썬으로 데이터 주무르기 - 소스코드 및 데이터 공개
Home Page: http://pinkwink.kr/1070
책) 파이썬으로 데이터 주무르기 - 소스코드 및 데이터 공개
Home Page: http://pinkwink.kr/1070
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 환경을 이용하면 책에서 설명하고 있는 파이썬과 기타 패키지 버전 정보를 담은 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
검토 부탁드립니다. ^^
tmp = name.split()
tmp_gu = [ gu for gu in tmp if gu[-1] == '구'][0]
책을 보고 제가 코드를 이해하기로는
'대한민국 서울특별시 중구 저동2가 수표로 27' 로 된 경찰서 주소를 공백으로 분리 하는 거 까지는 알겠는데요
그 다음 코드 줄 좀 설명 부탁드립니다.
a. gu 가 의미하는 거
b. 람다(?) 함수 형식으로 1줄로 표시된 거 같은데 잘 모르겠습니다. (풀어서 쓰면 어떻게 되는지)
감사합니다.
파이썬 초보로 정말 유용하면서도 재미있게 따라하고 있습니다.
제가 궁금한것은 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은 값과 갯수가 이상합니다.
이러면 데이터 가공이 잘못된 것이 아닌가 궁금합니다.
안녕하세요 김혁입니다. 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'
요게 맞는거 아닌가 해서 의견 한 번 구해봅니다.
감사합니다.
금천서의 구를 관악구에서 금천구로 바꾸는 과정에서, 코드도 오류가 있고, 코드 이미지도 오류가 있습니다. (깃허브에 올리신 코드는 정상인데 단순 오타인듯 합니다.)
오타 정정 내용을 README.md에 추가하시면 어떨까 합니다. 책 읽으면서 많은 도움 받고 있습니다!
CCTV_Seoul.columns를 작성하고 shift+enter를 했는데 output은 나타나지않고 in[*]로만 뜨는데
어떻게 해결해야 되나요?ㅠㅠ
안녕하세요.
예전부터 pinkwink님 블로그 방문하다가 책쓰셨다고해서 받아서 공부 중에 있는 팬중에 1명입니다.
책보고 공부 열심히 하는 중에 있는데요,
한글 font 관련하여서 malgun.ttf도 없고, 인터넷 상에서 받아서 설치해도 잘 깔리지 않네요.
혹시 window 10 사용 중이시면 저와 같은 사람을 위해서 올려주실 수 있는지 문의 드립니다.
감사합니다.
4장 174페이지 clear() 에서 에러나네요
일단, 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 발생합니다.
뭐가 문제일까요 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순으로 나오는지 알고싶습니다!
저만 그런지 모르겠는데 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])로 변경해서 잘 실행됬습니다~!
하단에 모듈명 numpy 3.2.3 , numpy 1.12.1 라고 적혀있는데, numpy 3.2.3가 맞나요?
책에는, unemployment column 항목이 2개가 있는데, github 에있는 data에는 1개의 column만 존재하네요...
안녕하세요, 현재 파이썬으로 데이터 주무르기 책을 통해 데이터분석의 맛을 알아가는 데이터분석 꿈나무입니다. ^^
제가 5장을 열심히 하다가 221페이지 쯤 zip 함수를 쓰는 곳이 있는데,
for path in BORDER_LINES:
ys, xs = zip(*path) 부분에서 계속 오류가 뜹니다 ㅠㅠㅠㅠ
TypeError: zip argument #2 must support iteration
아무리 찾아봐도 해결책이 없어서 직접 올려봅니다. 행여 보시게 되면 답 좀 부탁드릴게욤 ㅠㅠ
블로그에 댓글썻던 최인회입니다.
메일을 보내려고 파이썬 주무르기 책을 뒤져봤는데 비제이퍼블릭의 메일을 제외하곤 메일이 안보이네요 ㅠㅠ
그래서 불가피하게 여기에 써봅니다.
서울시 구별 주유가격과 구별 인구수의 상관관계를 알아보기 위해
아래 사진과 같이 구별 평균 주유가격 뽑는것 까지 했습니다
첨부 이미지
그리고 서울시 구별 인구수(엑셀)로 아래 사진과 같이 뽑았는데요.
이 둘을 merge해서 상관관계를 알아보려고 했는데 gu_data(주유가격)의 경우 index가 구로 설정 돼있어 merge가 안됩니다
이럴때 population(서울시 구별 인구수)처럼 인덱스를 똑같이 설정해서 merge 해야 할것 같은데
마땅한 명령어를 잘 모르겠습니다.. 어떻게 해야 할까요 ..
초보라 막막합니다..
293p 책 설명을 보면 JDK설치후 JAVA_HOME설정을 하고 conda install -c conda-forge jpype1을 설치합니다. 그리고 터미널 상태에서 python IDE 실행해서 바로 import nltk하는데 원래 이것이 정상인가요? 저는 오류가 발생해서 pip install nltk를 해야했습니다.
설치가 잘 진행되고서도 In[1] 실행시 JDK설정오류가 나시는 분은 윈도우 재부팅을 해서 환경변수 설정한 JAVA_HOME이 다시 로딩될수 있도록 해보시길 추천 드립니다. 윈도우10인데 자동 적용이 안되는 경우도 있네요.
안녕하세요~
책 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
라고 메시지가 나옵니다. 해결방법이 있는지 궁금합니다~
p267
import pandas_datareader.data as web에서
is_list_like에러가 발생합니다.
현재 pandas_datareader version 0.6.0 인데 차기 버전인 0.7.0에서 수정이 된다고 합니다.
그전에 해결 방법 몇가지가 있으니 참고하시기 바랍니다.
링크연결
----> 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
numpy 모듈의 버전이 1.12.1 / 3.2.3 이렇게 두개나 적혀있어요.
오타겠죠?ㅠ
8p
https://www.continuum.io/downloads
위 주소로 접속이 안 됩니다. 뒤에 s를 빼면 접속이 됩니다.
https://www.continuum.io/download
13p
numpy 버전이 2개 있습니다. 1.12. / 3.2.3
안녕하세요,
이제 막 파이썬 공부를 시작한 학생입니다.
26쪽부터 CCTV_Seoul 관련 자료에 2013년 이전 - 2016년까지는 CCTV 숫자가 같은데 '소계' column 전체로 다른 숫자가 떠서 확인해본 결과, 자료가 잘못 찍힌 것 같습니다.
(예시: 강남구 '3238' 대신 '2780' 명시)
계산기로도 확인해보고 정부자료도 보면 '3238'로 나와있어 강남구 뿐만 아니라 구별 '소계' column 전체로 책에 오류가 확실하여 적어드립니다.
좋은 책 써주셔서 재밌게 공부하던 도중 혹시라도 도움이 될까봐 글 드립니다. 감사합니다.
안녕하세요? 책을 재밌게 보고 있는 독자입니다.
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() 를 할 필요가 없었던거
같은데 책의 설명이 좀 맞지 않는거 같습니다.
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()
첨부해두신 chrome driver를 사용하려고 하면 valid하지 않다고 해서 새로 driver를 다운 받았습니다.
그런데, 이 때도 아무거나 받으면 send_keys("제19대")에서 오류가 나더라구요. 최신버전을 다운 받아야 하는 것 같습니다.
https://chromedriver.storage.googleapis.com/index.html?path=2.39/ 에 있습니다.
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장 시카고 샌드위치 맛집 분석 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패턴으로 분할해야 하는지를 알까요?
안녕하세요!
서울시 CCTV 데이터를 pd.read_csv( )를 통해 불러왔는데,
컬럼명이 정상적으로 불러와지는 것 같지 않아서 문의 드립니다.
'기관명' 컬럼명만 불러와지는 것 같습니다.
안녕하세요 선생님
파이썬을 처음하는 접하는 학생입니다. 책을 공부하고 싶으나 경로 문제가 발생하였습니다.
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()
xpath = """//*[@id="account"]/div/a/i"""
driver.find_element_by_xpath(xpath).click()
아이디랑 비번 치기 전에 이제 페이지 넘어가야되가지고
위에 코드 입력해야되욥
좋은 교재 감사합니다 👍
-김학건-
In[82], [83] 내용 입력후 실행하게 되면, Out[83] 값에 화면이 하얗게 나오네요.
혹시 몰라서 folium 실행전
위 두 값을 실행시키고 해도 변화되는게 없어서요, 해결 방법 문의드립니다.
In[32] : 위에 Comment 오타있습니다.
6-4. 19대 대선 결과 특표율 시각화하기 오타있습니다.
6-4. 19대 대선 결과 득표율 시각화하기
7장 처음에 기본 설치 패키지중에
visual C++ builder는 이제 stand alone은 지원하지 않는것 같습니다. Visual Studio를 깔아야 할 것 같습니다. 원하는 기능만 골라서 깔면 되겠지만 정확하게 builder기능만 고르는게 쉽지가 않아서...
pip install pystan 설치 에러
Command "python setup.py egg_info" failed with error code 1 in 경로명.....
위와 같이 에러가 나와서 pystan홈페이지에 가서 맥엔 리눅스 방법으로 깔았는데. 저는 윈10+아나콘다3입니다. pip list에는 올라오네요.
제대로 깔린거겠죠? 7장에 pystan import가 없던데 꼭 깔아야 하는지요? 다른 분은 에러가 안나는지 궁금하네요.
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)
csv데이터를 다운로드 받고 싶은데 메뉴가 없네요..어찌하면 되는건지요?
안녕하세요? 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장 in [128]부분에서 polyfit와 poly1d에 대해 상세한 설명없이 훅 들어가버려 이게 어떤 의미의 함수인지 정확히 이해하기 너무 어렵네요.
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의 의미도 궁금합니다.
유료화된 계정통해서 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)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.