본문 바로가기

프로그래밍/Python

(38)
[Python] Python Profiling 관련 메모 cProfile : 파이썬 표준라이브러리 프로파일러python -m cProfile script.py python -m cProfile -s tottime script.py python -m cProfile -o prof.out script.py 프로파일 시각화 : Visualizing the Results of Profiling Python Code pyprof2calltree pyinstumentpython -m pyinstrument --show-all script.py
[Python] pd.to_datetime 과 datetime.fromtimestamp 의 결과가 다르다. 타임스탬프로 시간이 주어진 데이터가 있는데, 이걸 데이트타임으로 변환하기 위해 다음 두가지 방법을 써 보았는데, 결과가 다르게 나왔다. import time import pandas as pd import datetime t = time.time() # 1562770422.6544123 dt1 = pd.to_datetime(t, unit='s') # dt1 = Timestamp('2019-07-10 14:53:42.654412270') dt2 = datetime.datetime.fromtimestamp(t) # dt2 = datetime.datetime(2019, 7, 10, 23, 53, 42, 654412) 두 결과의 타입이 조금 다르지만, 그걸 무시하고 봐도, 날짜가 같..
[번역] ipywidgets 설치 문서 https://github.com/jupyter-widgets/ipywidgets/blob/master/docs/source/user_install.md 의 번역입니다. 설치 현재버전의 ipywidgets는 pip 나 conda 로 설치가 가능하다. Pip로 설치 pip install ipywidgets jupyter nbextension enable --py widgetsnbextension virtualenv 를 사용해서 활성화(activate)된 가상환경에서 작업할 경우에는, 고립된 환경에서 확장을 enable하려면, --sys-prefix 옵션이 필요할 수 있다. (즉, jupyter nbextension enable --py widgetsnbextension --sys-prefix 로 실행한다...
[Python|Jupyter] ipywidgets 관련링크 https://github.com/jupyter-widgets/ipywidgets https://towardsdatascience.com/interactive-controls-for-jupyter-notebooks-f5c94829aee6?fbclid=IwAR3NkHUejJai2-F3GM5J_W6CsGIHFU_fF7RpjxhTrLdrVSPtNYvZ6y587Oc https://www.youtube.com/watch?v=SN0Bflf14C4
[Python|Jupyter] 노트북(.ipynb)을 nbconvert 로 html 로 변환하다 UnicodeDecodeError 가 발생하였다. 주피터 노트북으로 데이터를 분석하고, 그 결과물을 .html 로 변환하려 하였다. 변환메뉴를 선택하였으나, 변환되지 않고, 다음과 같은 UnicodeDecodeError가 발생하였다. Traceback (most recent call last): File "D:\Python3664\lib\runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "D:\Python3664\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "D:\PyEnvs\aicpu3664\Scripts\jupyter-nbconvert.EXE\__main__.py", line 9, in File "d:..
이등변직각삼각형 이등분각 무한급수 문제는 http://ggomjirak.tistory.com/224. 이등변 직각삼각형에서 아래 그림의 회색부분의 넓이의 합을 구하는 것이 문제임. 삼각형을 분할하는 방법은, 남겨진 각을 계속 이등분하는 것임. (선분 (0, 1)을 1/2지점, 3/4지점, 7/8지점, ... 으로 분할하는 것처럼.) 값이 얼마인지 궁금하여 파이썬으로 간단히 계산해 본 소스코드는 다음과 같다. import math # . # |\ # |o\ # | \ # | \ # | \ # | \ # | \ # | \ # | \ # ._________\____ # P # # pi / n \ # o_n = ---- | 1 - 0.5 | # 4 \ / # def P(n): o_n = (math.pi/4)*(1 - (.5)**n) return..
[Python] cmd 에서 python 인터프리터 진입시 UnicodeDecodeError 아나콘다 프롬프트에서 python 을 입력하여, 파이썬 인터프리터로 진입하려 하였을 때, 아래와 같은 UnicodeDecodeError 가 발생했다. 인터프리터 진입시마다 에러 메시지가 발생하여 꺼림직해서, 검색을 해서 해결책을 찾아봤다. 에러메시지를 보면, read_history_file 함수 안에서 파일을 open 하는 부분에서 에러가 발생하는 것이었다. 스택오버플로우의 한 질문답변에서 원인을 찾았다. %USERPROFILE%/.python_history ( C:\Users\username\.python_history ) 파일(윈도우 환경임. 다른 운영체제는 위치가 다를 것.)에 파이썬 인터프리터 명령이 저장되어 있는데, 이 파일에 한글등이 포함되어 있으면, 파일을 읽는 과정에서 UnicodeDeco..
[Python|OPENAPI] 기상청 기상관측 자료 OPENAPI requests 샘플코드 기상청에서 openapi 로 제공하는 자료를 openapi 를 이용하여, 받아서 활용할 수 있다. 보통 python 으로는 requests 모듈을 이용하여, requests.get(url, params=params) 형식으로 간단하게 가져와서 내용은 json으로 파싱하여 사용하는 것이 익숙한 방법이다. 그런데, 기상청에 회원가입하여 발급받은 apikey 에 requests 에서 자동으로 url encoding 을 해 버리는 특수문자 %와 / 이 포함되어 있었다. 그래서, 기본적인 방법으로는 500 에러가 발생하였으며, 약간의 꼼수 코드가 필요했다. 기상청 게시판을 보니까 비슷한 상황에 있는 사람들이 있는 것도 같아서, 내가 사용하여 성공한 코드를 포스팅한다. 사용한 코드 스니펫( 즉 아래의 noq_Ses..