Python: 75개의 글
MacOS $ sudo yum install python3 $ virtualenv -p python3 env $ source env/bin/activate $ pip3 install -r requirements.txt Centos $ sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm $ sudo yum install -y python35u python35u-pip $ virtualenv -p python3 venv $ source venv/bin/activate $ pip3 install -r requirementx.txt 출처 : ourcstory.tistory.com/216?category=630693
들어가며: Pillow는 이미 유명한 파이썬 이미지 분석 라이브러리 입니다. 이미지 파일을 읽어 resize, scale 등 다양한 작업을 할 수 있습니다. 이번에는 pillow를 이용해 이미지를 처리하는 내용보다는 image분석을 위해서 사용하는 IPython Notebook인 Jupyter에서 이미지를 그래프 형태로 변환해서 화면에 출력을 하는 예제를 살펴보겠습니다. Pillow에서 읽어들인 이미지의 변화를 확인하고 싶을때, 항상 이미지를 창에 띄우는 방법도 있지만, Jupyter에서 처리하게 될때 이미지가 matplotlib의 차트처럼 나오면 이미지 처리의 전후를 확인할 수 있습니다. 사용하기: 필요한 라이브러리는 통계분석을 할때 자주사용하는 matplotlib, numpy가 필요하다. 코드에 대해..
들어가며: 모든 언어를 사용하다 보면, 실행시에 파라미터를 입력받아서 처리하는 로직을 구현해야하는 경우가 많다. 자주사용하기 때문에 최초에 한번 나만의 모듈을 만들어놓고, 그대로 계속 재활용해서 사용하면 좋다. 물론 내가 sys.argv[0], sys.argv[1]의 들어온 값을 파싱해서 사용해도 되지만, 파이썬의 장점인 패키지가 많은것을 활용하는게 좋다고 생각한다. 이번에 소개할 내용은 argparse를 이용해서 매개변수를 입력받는 방법이다. argparse는 내가 입력하는 parameter의 옵션과 값을 입력받아줄 뿐만 아니라 help도 지원하니 개발자도, 사용자도 쉽게 사용을 할 수 있도록 되어 있다. 보통 우리가 커맨드창에 -h 옵션을 줘서 optional arguments를 확인을 할 수 있도록..
들어가며 이번에 설명할 내용은 metaclass를 이용해 SingletonType의 class를 생성하고, 생성한 패턴을 이용해 실제로 사용하는 방법에 대해서 설명을 하려고 합니다. 일단 Singleton이라하면 두개 이상의 객체를 만드는 것을 제한하여, 한 클래스가 하나의 객체를 생성하는 것을 말한다. 다른 클래스에서는 하나의 객체를 이용하기 때문에 어디서든지 사용 가능한 객체를 만드는 경우에 사용한다. 저 같은 경우에는 가장 많이 쓰는 패턴이 아닌가 싶습니다. 안드로이드에서도 예를 들면 ListView를 구현할때 데이터를 관리하기 위해서 Singleton을 사용하기도 했습니다. 하지만 가장 많이 써본 경험은 하나의 역할을 하는데, 그 역할이 어느 곳에서든 사용할 수 있도록 하기 위함입니다. Logge..
들어가며 파이썬을 코딩하다 보면 파일 입출력은 필수다. 뭐... 어디든지 필수겠지, 하지만 파이썬에서는 데이터 분석을 하는 경우가 많기 때문에 데이터를 읽기/쓰기가 자유로워야 한다. 특히 구분자가 ','로 되어있는 csv파일을 자주 읽게 되는데 csv를 읽는 두가지 방법에 대해서 설명한다. CSV파일 읽기/쓰기 파일 쓰기 with open('./file.csv', 'wb') as csvfile: writer = csv.writer(csvfile, delimiter=',') writer.writerow(['love'] * 3 + ['banana']) writer.writerow(['hong', 'love', 'banana']) writer.writerow(['monkey', 'kkikki', 'min'])..
들어가며 데이터 포맷은 참... 다양합니다. json부터 시작해서 csv, protocol buffer, text 등등.. 이번에는 protocol buffer를 json의 형태로 변환하는 방법에 대해서 알아보려고 합니다. 왜 필요하느냐.. 저 같은 경우에는 spark에서 데이터를 처리하기 위해서 변환을 했습니다. 사실 스파크에서는 protocol buffer를 지원하기 때문에 그대로 읽으면 되지만, tweeter에서 제공하는 elephant-bird 라이브러리를 함께 사용해야 하는 복잡함이 있다. 그것보다 아직 protocol buffer를 읽어서 spark에서 처리한 내용이 거의 없었다. 내가 찾아봤을때는 elephant-bird와 scala를 이용해서 읽어보려고 했으나 많은 dependency 등과..
들어가며 파이썬에서는 다른언어와는 다르게 기본적으로 Enum을 제공하지 않습니다. 하지만 역시 파이썬은 모듈이 많은게 장점이기 때문에 enum모듈을 설치하고 사용이 가능합니다. 설치하는 방법과 예제 코드에 대해서 설명해드리겠습니다. 설치하기 sudo pip install enum 예제코드 # Color Enum 정의하기 class Color(Enum): RED = 1 GREEN = 2 BLUE = 3 # 사용하기 Color.RED # 1 Color.GREEN # 2 Color.BLUE # 3 출처 : ourcstory.tistory.com/113?category=630693
collections 모듈을 이용해 dict 정렬하기 파이썬에서 자주 사용하는 Dictionary를 정렬하는 방법은 operator를 사용하는 방법도 있습니다. [바로가기] 이번에는 기본 모듈인 collections를 이용해서 dict 정렬하는 예제입니다. 소스코드 {2:3, 1:89, 4:5, 3:0} --> {1:89, 2:3, 3:0, 4:5} {2:3, 1:89, 4:5, 3:0}의 dict형태의 데이터를 저장하고, collections을 import 합니다. OrderedDict을 통해 정렬을 하는데, 이때 안에는 sorted(dict.items())를 넘겨주시면 됩니다. 아무래도 key와 value가 모두 정렬되니. 간편하게 사용이 가능 합니다. dict = {2:3, 1:89, 4:5, 3:..
들어가며 HTTP 통신을 하면서 data를 주고 받을 경우에 json형태로 데이터를 주고 받을 때가 많습니다. 또한 python에서는 dict의 type을 자주 사용하기 때문에 String을 dict으로 변환할 줄 알아야 하는데요. 아래 예제 코드는 json, dict 형태의 string을 json모듈을 이용해 dict의 type으로 변환해주는 코드입니다. python을 다룰때 가장 많이 사용하는 object중 하나가 dict이기 때문에 dict, json, string간의 변환이 자유로우면 상당한 무기가 될 수 있습니다. 예제코드 import json dict_string = '{"foo":"bar", "foo2":"bar2"}' # type(dict_string) # dict = json.loads(..
들어가며 서버 작업을 하다보면 timestamp와 datetime을 자주 사용하게 된다. 로그 파일명이나 로그를 남기는 안에 내용도 시간이 포함되어 있어야 하니까, 가끔 파일에 작성하고, 파일에서 시간을 읽었을때 datetime의 형태로 string인 값을 받아올 때가 있는데, 이때는 String값을 datetime으로 변환할 줄 알아야한다. 또한 로그를 남길때 거의 대부분 timestamp로 남긴 후에 나중에 내가 보기 편한 형태로 변형하기 위해서 datetime형태로 작성을한다. 마지막은 보너스입니다. 총 3가지의 방법에 대해서 설명한다. String의 값을 datetime으로 변환하는 방법 timestamp를 datetime으로 변환하는 방법 datetime을 timestamp로 변환하는 방법 예제..