본문 바로가기

전체 글523

주피터 노트북( Jupyter Notebook ) 배경 테마, 폰트, 셀 폭( Cell Width ) 설정하기 주피터 노트북( Jupyter Notebook )은 필자가 즐겨 쓰는 코드 환경이다. 주피터 노트북 jupyterthemes 모듈을 설치하면 배경 테마, 폰트를 설정할 수 있다. 또한 코드를 한 화면에 더 많이 작성하기 위해 셀 폭( cell width ) 또한 설정할 수 있다. 이번 포스팅에서는 주피터 노트북( Jupyter Notebook )에서 배경 테마, 폰트, 셀 폭( cell width )을 설정하는 방법을 알아보고자 한다. - 목차 - 1. jupyterthemes 설치 2. 주피터 노트북( Jupyter Notebook ) 배경 테마 설정하기 3. 주피터 노트북( Jupyter Notebook ) 폰트 및 셀 폭 설정하기 1. jupyterthemes 설치 먼저 주피터 노트북( Jupyte.. 2022. 9. 21.
파이썬(Python) tqdm 사용법 알아보기 이번 포스팅에서는 tqdm 사용법을 알아보려고 한다. 파이썬(Python)에서 반복 루프를 돌다 보면 진행이 얼마나 되었는지 Progress Bar를 통해 알 수 있다. 이처럼 반복문에서 진행률을 Progress Bar로 표현해주고 남은 시간 정보까지 알려주는 것이 바로 tqdm이다. 이제 구체적인 사용방법을 알아보자. tqdm 사용법을 알아보자 1) 기본 tqdm은 기본적으로 순회가능한 객체(리스트, 튜플, 이터레이터 등)를 첫 번째 인자로 넣어주고 for 문에 삽입하면 된다. from tqdm import tqdm import time for i in tqdm(range(10)): ## tqdm 첫 번째 인자에 순회가능한 객체 전달 time.sleep(0.01) 아래와 같이 변수에 할당해서 사용할 수.. 2022. 9. 21.
파이썬(Python) 튜플(Tuple)과 리스트(List)의 공통점과 차이점 파이썬(Python) 코딩을 하는 사람이라면 반드시 알고 있어야 하는 객체로 튜플(Tuple)과 리스트(List)가 있다. 하지만 필자는 이들의 공통점과 차이점을 잘 알지 못했는데 이번에 알게된 내용을 포스팅하고자 한다. 튜플(Tuple)과 리스트(List)의 공통점과 차이점 1) 공통점 a. 길이를 갖는다. 튜플(Tuple)과 리스트(List)는 길이가 있다. 따라서 len 함수를 사용할 수 있다. a = [1,2,3] ## 리스트 b = (1,2,3) ## 튜플 print('a의 길이 :', len(a)) print('b의 길이 :', len(b)) b. 언패킹(Unpacking)이 가능하다. 언패킹(Unpacking)이란 여러 변수를 한 번에 할당하는 것을 말한다. 튜플(Tuple)과 리스트(Lis.. 2022. 9. 19.
파이썬(Python) 데코레이터(Decorator)에 대해서 알아보자 (feat. @) 파이썬(Python)에서는 데코레이터(Decorator)라는 것이 있다. 뭔가를 꾸미는 장식가라는 의미의 데코레이터(Decorator)라는 단어에서 알 수 있듯이 데코레이터(Decorator)는 다른 함수를 꾸며주는 함수로써 다른 함수의 추가 기능을 부여할 때 사용된다. 이번 포스팅에서는 데코레이터의 사용법을 알아보려고 한다. 데코레이터(Decorator)로 함수를 꾸며보자 먼저 꾸밀 함수를 정의해보자. 아래 코드에서 정의된 함수는 'Sleeping'이라는 문자열을 출력하고 3초간 잠을 자는(아무것도 안 하는) 함수이다. import time def f(): ''' Just Function ''' print('Sleeping') time.sleep(3) 1) 데코레이터(Decorator) 만들기 이제 위.. 2022. 9. 19.
[정규 표현식] 알파벳 패턴 대소문자 상관없이 매칭하기 (feat. (?i), re.IGNORECASE) 알파벳으로 이루어진 문자열에서 패턴 매칭을 하다 보면 대소문자 구분하지 않고 매칭하고 싶을 때가 있다. 해당 정규 표현식으로는 (?i)가 있고 re 모듈에서 re.IGNORECASE를 이용하면 대소문자 구분 없이 패턴 매칭을 할 수 있다. 이번 포스팅에서는 대소문자 구분없이 패턴 매칭하는 방법을 알아보려고 한다. 대소문자 상관없이 매칭하기 먼저 다음 예제를 살펴보자. 아래 코드는 'banana' 패턴이 매칭되는 문자열을 찾는다. 실행하면 대문자가 섞여있는 것은 패턴 매칭이 안된다. import re pattern = re.compile('banana') string_list = ['banana', 'Banana', 'BANANA', 'baNana'] for string in string_list: ## .. 2022. 9. 18.
[정규 표현식] re 모듈 알아보기 (1) 패턴 찾기 (feat. re.match, re.search, re.findall) re 모듈은 문자열에서 특정 패턴을 만족하는 문자열을 찾고 싶을 때 유용한 기능을 제공하는 모듈이다. 특히 re 모듈에서 제공하는 match, search, findall 함수는 패턴과 매칭되는 문자열을 찾는 대표적인 방법이다. 이번 포스팅에서는 re 모듈에서 문자열 패턴을 찾는 방법을 알아보고자 한다. re 모듈 - 패턴 찾기 1) 문자열 시작 부분만 살펴볼게~ : match match는 주어진 패턴이 문자열 시작 부분과 매칭되면 re.Match 객체를 반환하고 매칭이 안되면 None, 즉 아무것도 반환하지 않는다. 아래 코드는 알파벳 소문자 한 개로 이루어진 문자를 찾는 과정이다. 이때 두 번째 문자열 'Hi how are you?'는 문자열 시작 부분이 대문자이므로 패턴 매칭이 안된다. re.Mat.. 2022. 9. 18.
[Scikit-Learn] 16. decision_path를 이용하여 주어진 데이터가 진행한 노드 정보 확인하기 의사결정 나무(Decision Tree)를 학습한 뒤 주어진 데이터가 진행한 노드들의 정보를 알고 싶을 때가 있다. 예를 들어 노드에서 분리할 때 사용된 변수와 분리 기준을 알고 싶을 때가 있을 것이다. 만약 아래 그림에서 의사결정 나무 모형이 있고 주어진 데이터에 대해서 예측을 수행하면 빨간 박스에 있는 노드(마디)들을 진행할 것이다. 이때 진행한 노드 중 중간 노드에 포함된 변수와 분리 기준은 (키, 170), (나이, 30)이 되며 마지막 터미널 노드에서의 예측값은 2인 것을 알 수 있다. Scikit-Learn(sklearn)에서는 이러한 나무 기반 모형에서 decision_path를 이용하여 주어진 데이터가 진행한 노드 아이디를 알 수 있고 이를 이용하면 진행 노드의 정보를 가져올 수 있는 것이.. 2022. 9. 18.
[Graphviz] Dot graph(그래프)를 이미지로 저장하기 (feat. render) 안녕하세요~ 꽁냥이에요. Graphviz는 구조화된 데이터(트리, 네트워크 등)를 시각화해주는 라이브러리입니다. Graphviz의 결과는 dot graph라는 형식으로 저장되는데요. 이번 포스팅에서는 dot graph를 이미지로 저장하는 방법을 알아보겠습니다. 굉장히 쉽습니다. Dot Graph 이미지로 저장하기 : render 먼저 시각화할 재료를 만들어야합니다. 꽁냥이는 의사결정 나무를 학습하고 최종 결과 트리를 dot graph로 저장했습니다. import pandas as pd import graphviz import warnings warnings.filterwarnings('ignore') from sklearn.datasets import load_boston from sklearn.tree.. 2022. 9. 18.
파이썬(Python) 리스트(List) 정렬하기 (feat. sort, sorted) 리스트(List)를 정렬하는 방법에는 sort, sorted를 이용하는 방법이 있다. 이번 포스팅에서는 리스트를 정렬하는 방법을 알아본다. 리스트 정렬(기본, 순서 반전, key) 1) 기본 sort와 sorted는 사용 방식이 같다. 차이점은 sort는 내부적으로 정렬되어 원본에 저장되는 반면 sorted는 정렬된 복사본을 생성한다는 것이 차이점이다. l = ['a', 'x', 'd', 'w', 'p', 'b'] l.sort() ## 내부적으로 정렬한 뒤 원본에 정렬 결과를 저장 print(l) l = ['a', 'x', 'd', 'w', 'p', 'b'] l = sorted(l) ## 복사본이 생성되므로 l에 다시 그 결과를 할당해주어야한다. print(l) 2) 순서 반전 sort와 sorted는 .. 2022. 9. 17.
파이썬(Python) 리스트(List) 속에 원소 존재 여부, 원소 위치, 등장 횟수 알아보기 (feat, in, index, count) 파이썬(Python)에서 리스트(List) 안에 원소가 존재하는지 존재한다면 어느 위치에 있고 몇 번 등장하는지 알 수 있다. 이번 포스팅에서는 in, index, count를 이용하여 원소 존재 여부, 원소 위치, 등장 횟수를 알아보는 방법을 소개한다. 리스트(List) 속 원소 존재 여부, 존재 위치, 등장 횟수 1) 원소 존재 여부 : in in을 이용하면 특정 원소가 리스트(List) 안에 존재하는지 여부를 알 수 있다. l = ['a', 'b', 'c'] print('a' in l) ## 'a'가 존재하는가 print('f' in l) ## 'f'가 존재하는가 2) 원소 위치 : index index 함수에 특정 원소를 넣어주면 해당 원소의 위치를 알려준다. l = ['a', 'b', 'c'] .. 2022. 9. 17.

맨 위로