본문 바로가기

프로그래밍

(363)
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..
[번역|StackOverflow|Mysql] mysqldump with INSERT ... ON DUPLICATE mysqldump with INSERT ... ON DUPLICATEhttps://dba.stackexchange.com/questions/5033/mysqldump-with-insert-on-duplicate 데이터베이스를 다른 데이터베이스로 합치고 싶다. 그래서, mysqldump 를 이용해 덤프를 만들었고, 다른 데이터베이스로 import 했다. (테이블 구조는 동일하다.) 이런 방식으로 하면 (중복데이터 등과 같은) 문제는 아직까지는 없다. [번역생략] mysqldump 를 생성하면서, ON DUPLICATE 옵션을 같이 넣을 수 있나? 아니면, 덤프를 합치면서, 새로운 데이터는 insert 하고, 변경된 데이터는 update 하는 방법이 있나? 물론, ON DUPLICATE 문을 덤프에 수동으로..
[Konlpy|Mecab] Ubuntu 에서 Mecab-ko를 설치했으나, Mecab이 설치되었는지를 다시 묻는다. Mecab 형태소 분석기를 이용해 보기 위해서, Ubuntu 환경에서 konlpy 와 Mecab-ko 설치를 진행해 보았다. http://konlpy.org/ko/latest/install/ 의 가이드를 따라 mecab 설치까지 진행하였으나, mecab 은 구동되지만, Mecab 클래스 인스턴스를 만드는 부분에서 mecab 설치가 안 되었다는 에러가 발생했다. 환경은 Ubuntu 18.x 이고, 다른 파이썬 패키지와의 꼬임을 방지하기 위해서, python3 venv 를 이용해 가상환경(virtual env)를 따로 만들어 진행했다. 문제는 가이드에서 제공하는 스크립트는 가상환경에 대한 고려가 되어 있지 않았기 때문에, 가상환경에 수동으로 추가적으로 패키지를 깔아주어야 했던 것이다. 진행한 순서는 다음과 ..
[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):..
[Python] 이항분포 그래프 그리기 import sys from functools import lru_cache import math import numpy as np import matplotlib.pyplot as plt @lru_cache(None) def ncr(n, r): """조합. 재귀식을 이용함. n이 커지면 스택오버플로우 발생. """ if r in (0, n): return 1 return ncr(n - 1, r) + ncr(n - 1, r - 1) def bidist(n, p): """이항분포""" q = 1 - p dist = np.array([ncr(n, k) * (p ** k) * (q ** (n - k)) for k in range(n + 1)]) return dist def bicoeff(n): """이항계수...
[Python] pandas read_csv issue regarding non-ascii filename (textanal3664) D:\Users\daewon\Downloads\crime>python ana.pyTraceback (most recent call last): File "ana.py", line 5, in df = pd.read_csv('2000년.csv', encoding='euc-kr') File "D:\PythonEnvs\textanal3664\lib\site-packages\pandas\io\parsers.py", line 678, in parser_f return _read(filepath_or_buffer, kwds) File "D:\PythonEnvs\textanal3664\lib\site-packages\pandas\io\parsers.py", line 440, in _read ..
[Win32] CharLowerA(utf8str) 은 문제가 생길 수 있다. utf-8 인코딩된 한글 문자열에 대해서 CharLowerA 를 적용하면, 문자가 깨질 수 있다. char utf8str[200];WCHAR s1[200] = L"제공호";WCHAR s2[200]; // s1 을 utf8 인코딩으로 변환하여 utf8str 을 채운다. (WideCharToMultiByte 등을 사용.) CharLowerA(utf8str); // utf8str 중에서 알파벳만 모두 소문자로 바꾸려 한다. // 변경된 utf8str 을 unicode 로 변환하여, s2 에 저장한다. (MultiByteToWideChar 등을 사용.) cmp = wcscmp(CharLowerW(s1), s2); 위 코드에서 두가지 경로로 문자를 소문자화하여 비교한다.1. s1 -> utf8로 인코딩 -> Ch..
fasttext, word2vec, pretrained word vector 평가 인터넷에서 찾을 수 있는 한국어 fasttext 와 word2vec 의 pretrained vector 들이 얼마나 쓸만한 것인지 궁금했다. gensim KeyedVecor 에는 accuracy, evaluate_word_analogies 메소드로 그 성능을 측정해 볼 수 있다.측정을 위한 아날로기 데이터는 영문의 경우에는 gensim 패키지에 들어 있지만, 한국어는 패키지에 포함되어 있지 않고, https://github.com/SungjoonPark/KoreanWordVectors 에서 받을 수 있다. github fasttext 에 있는 fasttext wiki pretrained model, github kyubyong 에 있는 word2vec 과 fasttext pretrained model 로..