본문 바로가기

Python

(69)
[Python|LexRankr] 한국어 문서 요약 lexrankr 이라는 문서요약 패키지를 테스트 해 보았음. ( https://github.com/theeluwin/lexrankr ) 실행해 본 코드는 패키지 홈페이지의 예제코드이므로 별다를 것이 없다. 과거에는 설치시에 konlpy 를 설치해야 하고, scipy 와 numpy 설치에도 까다로운 부분이 있었기 때문에 윈도우에서는 약간 번거로운 점이 있었다. 하지만, 2019년 현재는 konlpy 설치는 konlpy 설치 가이드를 잘 따라하면 큰 무리가 없다. 자바sdk, 자바 홈 변수 설정 정도만 잘 신경쓰면 되고, jpype1 을 수동으로 설치할 필요가 없음. jpypye1 패키지도 pypi 에 윈도우용 바이너리가 잘 올라가 있음. lexrankr 의 설치시 jpype1-py3 충돌문제 (2019년 ..
[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:..
[Python] cmd 에서 python 인터프리터 진입시 UnicodeDecodeError 아나콘다 프롬프트에서 python 을 입력하여, 파이썬 인터프리터로 진입하려 하였을 때, 아래와 같은 UnicodeDecodeError 가 발생했다. 인터프리터 진입시마다 에러 메시지가 발생하여 꺼림직해서, 검색을 해서 해결책을 찾아봤다. 에러메시지를 보면, read_history_file 함수 안에서 파일을 open 하는 부분에서 에러가 발생하는 것이었다. 스택오버플로우의 한 질문답변에서 원인을 찾았다. %USERPROFILE%/.python_history ( C:\Users\username\.python_history ) 파일(윈도우 환경임. 다른 운영체제는 위치가 다를 것.)에 파이썬 인터프리터 명령이 저장되어 있는데, 이 파일에 한글등이 포함되어 있으면, 파일을 읽는 과정에서 UnicodeDeco..
pandas 의 read_excel 읽기 속도를 좀 더 빠르게 하는 방법 출처 : https://stackoverflow.com/questions/50695778/how-to-increase-process-speed-using-read-excel-in-pandas pandas 의 read_excel 읽기 속도를 좀 더 빠르게 하는 방법 읽을 행과 열의 수를 제한한다 parse_cols, skip_footer 인자를 이용하여 행과 열의 갯수를 제한할 수 있다. 이렇게 하면 읽기 시간을 줄일 수 있고, sheetname = None 인 경우에도 잘 동작한다. 예를 들면, 다음과 같이주면, 첫 3 컬럼, 그리고 100줄짜리 시트라면, 처음 20줄만 읽어들이게 된다. df = pd.read_excel('file.xlsx', sheetname=None, parse_col..
Prophet plot 그래프 설명 prophet plot 그래프 설명 https://mikulskibartosz.name/prophet-plot-explained-31df79087e24 Bartosz Mikulski 2018-11-14 Prophet 이 만들어낸 플롯을 보고 당황했다. 문서에서 설명을 찾아봤지만 없었다. 구글링을 해도, 스택오버플로우에서조차 설명을 찾을 수 없었다. 이해하기를 포기하거나, 아니면, 소스코드를 파보는 두가지 방법 밖에 없었다. 다행히도 prophet 의 plot 함수 소스코드를 보니, 모든 것이 명확해졌다. 예제 문서를 보면, 위키백과의 Peyton Manninng 페이지의 일간 페이지뷰 로그를 입력데이터로 사용한다. 첫번째 단계로, 데이터셋을 다운로드하고, 라인플롯으로 플로팅해 보았다. import fbp..
[Anaconda] jupyter notebook 500 internal error anaconda 에서 jupyter notebook 을 잘 썼었는데, 최근 (포스팅 작성시점은 2019년 3월 15일임) 업데이트한 이후에 jupyter notebook 을 실행하여, 어떤 .ipynb 파일을 열어보거나 새롭게 만들려고 하면, 500: Internal Error 란 메시지만 나오는 문제가 발생하였다. 그래서 에러메시지로 조금 검색해 보니, tornado 가 6.0 으로 버전업 하면서 발생시킨 문제라는 이야기가 있었다. ( https://github.com/jupyter/nbconvert/issues/894 ) 아마도 6.0.1 이 나온다면 해결될 것이라고도 하는데, 아직 패키지가 안 나왔으니, 문제를 해결하려면, tornado 버전을 낮추어야 한다. anaconda 의 conda 패키지매..
PIP 수동으로 설치하기 참고 : https://github.com/pypa/pip/issues/2351#issuecomment-69994524 pip 를 업그레이드 설치하다가 pip 명령이 들지 않는 문제가 발생했다. 윈도우 환경에서는 pip 를 업데이트할 때, python -m pip install -U pip로 명령을 주지 않고, pip install -U pip 로 명령을 주었을 때, 자신을 삭제하고 업데이트된 버전의 설치는 진행하지 않고 끝내면서, pip 가 지워지는 사태가 가끔 발생하는 것 같다. (리눅스 환경에선 문제가 없음.) (aigpu3664) D:\Temp> pip list Traceback (most recent call last): File "D:\Python3664\lib\runpy.py", line 1..
[Python|Numpy|Matplotlib] 푸리에 시리즈 사각파 10년전 포스팅에 C로 사각파 푸리에 시리즈를 구현한 것이 있었다. 이걸 파이썬, numpy, matplotlib 를 이용해 다시 구현해 본다. import numpy as np import matplotlib.pyplot as plt def F(n, X): """ 1 F (t) = ------- sin ( (2n+1) t ) n 2n + 1 """ return np.sin((2*n+1)*X)/(2*n+1) def RectWave(n, X): """ n Sigma F (t) k=1 """ y = np.zeros(X.shape) for k in range(n+1): y = F(k, X) + y return y X = np.linspace(-5, 5, 1000) for i in (1, 5, 50, 100):..