Python: 127개의 글
python에서 dataframe을 사용하다 보면, 결과가 ...으로 나오는 경우가 있다. 전체적인 결과를 보고 싶을때는 간단하게 pd에 option을 세팅해주면 된다. (display all text in a cell without truncation) pd.set_option('display.max_colwidth', -1) 그 외에도 다양하게 option을 변경해서, rows, heights을 변경할 수 있다. HTML코드도 출력이 가능하다. 아래 참고 참고 http://songhuiming.github.io/pages/2017/04/02/jupyter-and-pandas-display/
Jupyter notebook background로 실행하는 방법 & token 확인하는 방법 python 코드를 jupyter notebook에서 사용을 자주하는데 이때 평소대로 jupyter notebook을 터미널에서 실행시키면 터미널이 종료되는 시점에 jupyter notebook도 같이 종료되게 된다. jupyter notebook은 아래와 같은 명령어로 시작을 할 수 있다. jupyter-notebook 위 처럼 실행을 하면 localhost에서만 접속이 가능하기 때문에 만약 서버로서 노트북을 실행시키고 싶으면 --ip=0.0.0.0을 함께 넣어줘야 한다. 터미널과 상관없이 백그라운드에서 jupyter notebook을 실행 하는 방법에 대해서 알아보자. 물론 터미널이 종료되던, 상관없이 항상..
Python 사전(Dictionary)에서 값을 기준으로 topK를 추출하는 방법 python에서 dictionary를 갖고 있을때 (key, value)에서 value를 기반으로 topK를 뽑아내는 방법을 제시한다. 사전에서 값을 기준으로 정렬을 한 뒤에, [:N]을 이용해서 값을 추출할 수 있지만, 간단하게 한줄로 끝낼 수 있다. 기존 파이썬 패키지에 있는 heapq를 이용하면 된다. heapq는 Heap queue algorithm으로 priority queue 알고리즘을 이용해서 값을 찾아낸다. heaps은 binary tree를 이용하기 때문에 O(nlogn) 더 자세한 내용을 및 이론을 알고 싶으면 https://docs.python.org/2/library/heapq.html에서 8.4.3 ..
파이썬에서 pickle을 이용해 dictionary를 저장하고 로드하는 방법 중간 결과를 저장하거나, 최정 결과를 저장하기 위해 dictionary의 객체를 그대로 로컬의 디스크로 저장하는 방법은 자주 필요하다. key, map을 만드는 경우에도 중간 데이터를 생성해 놓은 뒤에, 이미 데이터가 있는 경우에는 로드해서 바로 사용하면 효율적이다. 코드 pickle을 이용해 데이터의 사이즈를 줄이고, 기존 textfile로 저장, 로드의 시간 소요가 절약된다. import pickle a = {'hello': 'world'} with open('filename.pickle', 'wb') as handle: pickle.dump(a, handle, protocol=pickle.HIGHEST_PROTOCOL) w..
파이썬에서 튜플(tuple) 리스트를 정렬하는 방법 python sorted_by_second = sorted(data, key=lambda tup: tup[1]) data.sort(key=lambda tup: tup[1]) # sorts in place 출처 : ourcstory.tistory.com/445?category=630693
파이썬 쥬피터(juypter) 한글 깨짐 현상 파이썬에서 주로 사용하는 jupyter notebook에서 한글을 설정 안하면 깨진다. 'ㅁㅁㅁㅁ'로 표시 되기 때문에 한글을 설치하고, 세팅하는 작업이 필요하다 Centos에 한글 나눔 글씨체 설치 ``` $ cd /usr/share/fonts/ $ wget http://cdn.naver.com/naver/NanumFont/fontfiles/NanumFontTTFALL.zip $ unzip NanumFontTTFALL.zip -d NanumFont $ rm -f NanumFontTTFALL.zip ``` [참고] 2017.02.20 - Centos 나눔글씨체 설치하는 방법 zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4%E..
Python에서 DataFrame을 임시 데이터를 저장하는 방법 pandas를 사용하면서, 중간 데이터를 저장하거나 최종 데이터를 저장을 해야할 때가 있다. 이때 csv로 저장하고, 불러오는 방법을 설명한다. DataFrame을 CSV파일로 저장하기 DataFrame을 CSV로 저장하는 방법은 매우 간단하다. dataframe의 object에서 to_csv의 메소드를 이용하면 된다. datafram.to_csv('result.csv') CSV파일 DataFrame으로 불러오기 csv의 파일을 DataFrame으로 불러오기 위해서는 아래와 같이 실행하면 된다. 이때, 데이터의 크기가 너무 커서 어떤 조건을 만족하는 데이터만을 불러오고 싶으면 iterator=True를 통해서 iteration을 돌려서 가져..
파이썬에서 gzip파일을 읽는 방법 2가지 성능 비교 gzip 파일 확인 gzip의 파일을 읽으려면 shell에서는 zcat을 이용하면 쉽게 데이터를 확인이 가능하다. $ zcat * | head -100 $ zcat * | wc -l 아래 소스코드는 zcat과 pipeline을 이용해 읽는 방식과, gzip.open을 이용해 gzip의 파일을 읽는 속도를 비교한 코드이다. 코드 import os import sys if sys.version.startswith("3"): import io io_method = io.BytesIO else: import cStringIO io_method = cStringIO.StringIO import gzip import subprocess import time di..
파이썬 (Python)에서 리스트에 있는 값들의 모든 조합을 구하기 파이썬에서 리스트에 있는 값들의 모든 조합을 구하기 위해서는 여러가지 방법이 있다. 파이썬 기본 라이브러리인 itertools을 사용하면 쉽게 구할 수 있다. 하지만 각각의 차이점을 알고 있어야 한다. from itertools import product from itertools import permutations from itertools import combinations 사용시기 하나의 리스트에서 모든 조합을 계산을 해야 한다면, permutations, combinations을 사용 두개 이상의 리스트에서 모든 조합을 계산해야 한다면, product를 사용 하나의 리스트에서 모든 조합을 구하기 items = ['1', '2', ..
파이썬 (Python)에서 한글 문자 길이에 대해서 작성한다. 파이썬에서 제일 거지같을 때 만약 파이썬에서 그냥 len(text)를 하면, 어떻게 결과가 나올까 결론부터 말하면 정말 거지같은건 파이썬 2.x의 버전에서는 기본 인코딩은 ascii 이기 때문에 unicode로 처리를 해야 한다. 만약 len(text)를 한다면 len('바나나')의 결과는 3이 아닌 9가 나온다 파이썬에서는 인코딩(encoding)문제가 많아서, 확실하게 이해하고 하나의 솔루션을 만들어 놓는게 좋다. 예를 들면 모든 텍스트에 hangul('바나나')에서 hangul 함수를 만들어 놓으면 좋다. 3이아닌 9가 나오는 이유 그 이유는 ? '바나나'의 값은 다음과 같다 '\xeb\xb0\x94\xeb\x82\x98\xeb\x82\..