zenn.skin 무료버전 배포중!
자세히보기

Python/Syntax 51

Python/Syntax
[Colab] 파이썬 버전 설정(변경)

colab을 사용하다 보면 파이썬의 버전을 변경해주어야 하는 경우가 많이 발생합니다. 구글링을 해도 해결 방법을 찾지 못하다 가라식(?) 해결책을 찾게 되어 포스팅해보려 합니다. 💡 이 방법을 사용하면 노트북 런타임을 다시 시작하면 다시 설정해주어야 하는 번거로움이 있습니다. colab에서 공식적으로 지원하는 파이썬의 버전은 3.8 버전 이상으로 그 이전 버전을 필요로 하는 서드 파티 라이브러리를 사용하는 데 문제가 있습니다. 현재 colab에 설치되어 있는 파이썬 버전을 확인해보면 다음과 같습니다. 3.8 버전과 3.10버전을 지원하고 있기 때문에 이 상태에서는 3.7버전으로 바꾸려해도 바꾸기가 어렵습니다. 여기서 직접 apt를 사용해 python3.7을 설치해주겠습니다.!sudo apt upgrade..

Python/Syntax
[Python] pathlib

pathlib — Object-oriented filesystem paths Source code: Lib/pathlib.py This module offers classes representing filesystem paths with semantics appropriate for different operating systems. Path classes are divided between pure paths, which p... docs.python.org pathlib은 file system을 PosixPath 객체를 사용해 경로를 객체지향 방식으로 사용할 수 있게 해주는 모듈입니다. pathlib을 사용하면 os 모듈을 사용할 때보다 더 직관적으로 파일과 폴더에 접근할 수 있는 장점이 있습니다. ..

Python/Syntax
[Pytorch] 기초 문법

텐서(Tensor) 파이토치(PyTorch) 기본 익히기|| 빠른 시작|| 텐서(Tensor)|| Dataset과 Dataloader|| 변형(Transform)|| 신경망 모델 구성하기|| Autograd|| 최적화(Optimization)|| 모델 저장하고 불러오기 텐서(tensor)는 배열(array)이 tutorials.pytorch.kr * Pytorch 튜토리얼에서 제공하는 내용을 기반으로 작성했습니다. import pytorch import numpy as np pytorch에서 사용하는 기본적인 자료형은 tensor입니다. pytorch에서는 tensor를 이용해 입출력과 매개변수들을 사용합니다. tensor는 numpy의 ndarray와 거의 유사하고, tensor와 ndarray는 동일..

Python/Syntax
[Numpy] hstack

hstack은 두 numpy 배열이 주어질 때 배열들을 가로로 붙여주는 역할을 하는 함수입니다. 최대 3차원까지의 배열에 적용할 수 있으며 첫번째 인자로 받은 배열 뒤에 두번째 인자로 받은 배열을 가로로 붙여 반환합니다. # 1차원 배열에서의 hstack a = np.array([1, 2, 3]) b = np.array([4, 5, 6]) np.hstack((a, b)) # 2차원 배열 c = np.array([[1, 2, 3], [4, 5, 6]]) d = np.array([[7, 8, 9], [10, 11, 12]]) np.hstack((c, d))

Python/Syntax
[Pandas] 함수 정리

pandas 라이브러리에서 사용하는 함수 정리 1. 생성 import pandas as pd # Dict를 입력값으로 받는 경우 # Key는 column이 된다 df = pd.DataFrame({'a': [4, 5, 6, 7], 'b': [8, 9, 10, 11], 'c': [12, 13, 14, 15]}, index=[1, 2, 3, 4]) # List를 입력값으로 받는 경우 # 각 리스트는 row가 된다 df2 = pd.DataFrame( [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]], index=[1, 2, 3, 4], columns=list('abc')) 2. 이중 인덱스 데이터프레임 # index를 MultiIndex로 설정 #..

Python/Syntax
[Python] while ~ else문

if ~ else문을 이용하면 if 조건식에 있는 조건을 만족하지 못할 때 else에 있는 실행문이 실행된다. if 조건문1: 실행문1 else: 실행문2 이런 조건을 while문에 대해서도 동일하게 적용할 수 있다. while 조건문: 실행문1 ... if ~: break else: 실행문2 만약 while 조건문이 아니라 내부에서 break에 의해 반복문이 멈추면 else에 해당하는 실행문은 실행되지 않는다. 반면 while 조건문에 의해 while문이 멈춘다면 else에 있는 실행문이 실행되게 된다. # 백준 16952: A -> B a, b = map(int, input().split()) cnt = 0 while a != b: if b % 10 == 1: b //= 10 elif b % 2 ==..

Python/Syntax
[Python] glob

1. glob 특정 패턴이나 확장자를 가진 파일들을 불러올 때 사용할 수 있다. glob 모듈의 glob를 사용하면 조건에 맞는 파일명들을 리스트 형태로 반환받을 수 있다. 정규 표현식을 사용할 수 없지만 *나 ? 같은 와일드 카드를 사용할 수 있다. 2. 사용 from glob import glob file_list = glob('cat?.txt') print(file_list) for file in file_list: print(file) from glob import glob file_list = glob('cat1*') for file in file_list: print(file)

Python/Syntax
[Python] itertools (순열, 조합)

python에서 제공하는 itertools를 사용하면 효율적으로 순열과 조합을 구할 수 있습니다. 1. 조합(combinations) 첫번째 파라미터로 iterable 객체를 받고, 두번째 파라미터는 선택할 원소의 개수를 입력받습니다. from itertools import combinations A = [2, 1, 3] for i in combinations(A, 2): print(i) for i in combinations(A, 3): print(i) 2. combinations_with_replacement 중복을 허용하여 입력받은 iterable 객체 내 원소로 만들 수 있는 모든 조합을 구할 수 있습니다. from itertools import combinations_with_replacemen..

Python/Syntax
[Pandas] pivot

pandas.DataFrame.pivot을 사용하면 열값에 따른 pivot table을 생성할 수 있습니다. 행값과 열값이 동일한 데이터가 2개 이상 존재하면 ValueError가 발생하기 때문에 주의해야 합니다. 파라미터 설명 index pivot table의 index를 생성할 열 선택 default=None columns pivot table의 column을 생성할 열 선택 default=None values pivot table이 나타낼 값을 선택 별도로 지정을 하지 않는다면 남은 열들을 사용함 defalut=None import pandas as pd data = pd.read_csv('data.csv') data[:8].pivot('age', 'sex', 'height') pivot을 사용하면..