* 전체 코드 ## f-string = 지시자 power=100 print(f"{power=}") # 출력: power=100 ## 활용 예시 gesus=100 budda=[] for i in range(5): gesus+=i budda.append(gesus) print(f"{gesus=}, {len(budda) = }, {budda=}") # 출력 # gesus=100, len(budda) = 1, budda=[100] # gesus=101, len(budda) = 2, budda=[100, 101] # gesus=103, len(budda) = 3, budda=[100, 101, 103] # gesus=106, len(budda) = 4, budda=[100, 101, 103, 106] # gesu..
Contents 1. 배경 파이썬으로 코드를 짜다보면, 코드가 엄청 오래 걸린다고 느낄 때가 있습니다. 그럴 때 함수 별로, 혹은 코드별로 걸리는 시간을 측정해 병목현상을 해결할 수 있습니다. python 라이브러리를 이용해 코드의 시간을 측정하는 방법과 주피터 노트북을 이용하는 경우 매직 커맨드를 이용해 코드의 시간을 측정하는 방법을 알아보겠습니다. 2. 코드 실행시간 측정 1) time 라이브러리 이용 (초 단위) import time # time 라이브러리 import start = time.time() # 시작 time.sleep(1) # 측정하고자 하는 코드 부분 print(f"{time.time()-start:.4f} sec") # 종료와 함께 수행시간 출력 python에서 기본적으로 시간을 ..
Contents 1. 배경 파이썬에서 텍스트 파일을 읽고, 쓰는 것만으로 충분치 않을 때가 있습니다. 파이썬에서 pickle을 이용하면, 변수를 그대로 저장했다가 불러올 수 있습니다. 예를 들어, python 자체 자료형인 리스트, 딕셔너리 등뿐만 아니라, pandas의 데이터 프레임, 심지어 함수와 클래스까지 파일로 저장하고 불러올 수 있습니다. 그 방법을 알아보겠습니다. 2. 기초 사용법 # python 변수(객체)를 pickle 파일로 저장 with open([파일], 'wb') as f: pickle.dump([변수], f) # pickle 파일 불러오기 with open([파일], 'rb') as f: var = pickle.load(f) pickle.dump를 이용해 [변수]를 [파일]에 저장..
* 전체 코드 ### 2,8,16 진수 k=15 print(f"k 2진수: {k:b}, k 8진수: {k:o}") # 출력: k 2진수: 1111, k 8진수: 17 print(f"k 16진수 - 소문자:{k:x}, 대문자:{k:X}") # 출력: k 16진수 - 소문자:f, 대문자:F ### 1000 단위 쉼표(,) m=1000000000 print(f"m: {m:,} 원") # 출력: m: 1,000,000,000 원 ### 출력 길이 조절 print(f"a:{a:10}") # 출력: k: 15. ### 왼쪽, 오른쪽, 가운데 정렬 print(f"a center: {a:^10}.") # 출력: k center: 15 . print(f"a left: {a:10}.") # 출력: k right: 15. ..
* 전체 코드 ## 기초 예시 a=10 print(f"a: {a}") # Output: 10 print(f"a: {a:.2f}") # Output: 10.00 ## 자주 사용하는 포맷팅 ### 소수점 자리수 import math pi=math.pi print(pi) # Output: 3.141592653589793 print(f"파이: {pi:.3f}") # Output: 파이: 3.142 ### 퍼센트(백분율) percent=0.9522 print(f"퍼센트: {percent:.2%}") # Output: 퍼센트: 95.22% ### 부동 소수점 출력 li = [0.0, 0.5, 1.0] for i in li: print(i) # Output: 0.0 0.5 1.0 for i in li: print(f..
Python 3.8부터 바다코끼리 연산자 (:=)가 도입되었습니다. 저도 최근에 알게 된, 매우 생소한 연산자입니다. 간단히 말해, 할당과 반환을 동시에 하는 연산자입니다. 개념과 목적, 예시를 알아보겠습니다. Contents 1. 개념 변수 := 표현식 작동하는 방식은 표현식의 결과를 변수에 할당하고, 동시에 반환합니다. 즉, 변수 = 표현식을 하고, return 변수 기능을 합니다. 2. 목적 할당과 반환을 동시에 함으로써, 코드량을 줄일 수 있습니다. 즉, 코드량이 줄어들면서 가독성이 높아지는 효과로 볼 수 있습니다. 3. 예시 1) 기초 예시 ## 1번 코드 -> 일반 코드 s='walrus eat kimchi' ## s에 문자열을 할당 result = 'walrus' in s ## 'walrus..
이번엔 Python을 이용해 현재 시간을 여러 형식으로 출력하는 방법을 알아보겠습니다. time 라이브러리의 strftime 메서드를 사용해서 간단하게 현재 시간을 나타낼 수 있습니다. strftime 메서드는 datetime에서도 똑같이 사용하실 수 있습니다. Contents * 전체 코드 import time time.strftime('%Y.%m.%d - %H:%M:%S') # 년.월.일 - 시간 # Output : '2022.04.04 - 01:33:26' time.strftime('%y%m%d - %X') # 년월일 - 시간 # Output : '220404 - 01:35:57' time.strftime('%x %X') # 날짜 - 시간 # Output : '04/04/22 01:37:57' ti..
이번엔 딕셔너리를 요소로 가지고 있는 리스트가 있을 때, 해당 리스트를 딕셔너리의 key값을 기준으로 정렬하는 방법에 대해 알아보겠습니다. Contents *전체 코드 li = [{'name':'Ace', 'age':87}, {'name':'Bella', 'age':10}] # name을 기준으로 사전순 정렬 print(sorted(li , key= lambda x: x['name'])) ## Output : [{'name': 'Ace', 'age': 87}, {'name': 'Bella', 'age': 10}] # name을 기준으로 사전 역순으로 정렬 print(sorted(li , key= lambda x: x['name'], reverse=True)) ## Output : [{'name': 'Ac..
Contents 이번엔 파이썬에서 두 리스트의 교집합을 순서를 유지 하여 구하는 간단한 코드를 보겠습니다. 1. 전체 코드 a = [1,2,3,4,5] b = [5,4,3] c = [3,4,5] [_ for _ in a if _ in c] # a순서 기준 # Output: [3, 4, 5] [_ for _ in b if _ in c] # b순서 기준 # Output: [5, 4, 3] 2. a 순서 기준 a = [1,2,3,4,5] c = [3,4,5] [_ for _ in a if _ in c] a 리스트 순서를 기준으로 해서, c 리스트와 교집합을 구하는 코드입니다. 리스트 컴프리핸션 내에서 _(언더바) 변수는 다른 변수와 겹치지 않고, 저 순간에만 간단히 사용함을 의미합니다. (리스트 컴프리핸션에 ..
파이썬을 사용하다 보면, 변수에 값을 동적으로 할당하고 싶을 때가 있습니다. 쉽게 말해, 파이썬의 문자열을 변수처럼 사용할 수 있다면, 자유롭게 값을 할당하고 다룰 수 있는 경우들이 있습니다. 이런 경우에 사용하는 것이 eval() 함수와 exec() 함수입니다. 이는 파이썬의 내장 함수로 따로 library 없이 사용할 수 있습니다. Contents eval() 함수 : '수식' 연산 기본적으로 문자열로 된 수식을 Input으로 받아 그 결과를 return 하는 함수입니다. eval('수식',globals=None, locals=None) ① '수식' : 여기에 문자열 형태로 표현식[ ex) 1+1 ]을 입력받습니다. (필요 값) ② globals : 선택적으로 쓰며, 사용하는 경우 변수: 값 형태의 ..
subprocess 라이브러리를 이용해 코드를 백그라운드로 실행하여 병렬 처리하는 방법을 알아보겠습니다. Contents 1. 배경 회사에서 리눅스서버위에서 작업 스케쥴러와 함께 대규모 파이프라인을 돌리는 경우가 생겼습니다. 문제는 한 번 분석을 시작할 때, 분석 샘플들을 종류에 따라 나누어, 작업 스케쥴러를 돌려 병렬 처리할 스크립트가 달라진다는 점이었습니다. 즉, 분석 자동화 스크립트가 돌아갈 때, 샘플들을 종류별로 나누어, 파이프라인을 돌릴 쉘 스크립트들을 작업 스케쥴러에 병렬적으로 넣고, 한 샘플에 대해 여러 작업으로 나뉘어, 스크립트들이 큐에 쌓입니다. cfDNA 샘플은 샘플당 작업 큐에 쌓이는 스크립트만 100개가 넘고, PBMC 샘플은 30~40개 정도 됩니다. 한 배치에는 cfDNA가 80..
안녕하세요! 이번엔 엑셀을 필터가 걸린 상태로 코드로 다루는 방법을 알아보겠습니다. 엑셀 작업을 하다 보면, 필터를 걸어 데이터를 정제하게 됩니다. 그리고, 그렇게 필터가 걸린 상태로 엑셀을 파이썬으로 읽고 싶은 경우가 있습니다. 예를 들어, 엑셀에서 데이터를 정제한 다량의 엑셀이 있고, 필터가 걸려있는 상태가 정제된 상태인 경우, 이런 다량의 엑셀을 취합하여 코드 작업을 해야 하는 경우유용합니다. * 코드만 필요하신 분을 위한, 필터 걸린 엑셀을 읽고 필터가 걸린 상태로 tsv로 쓰는 코드입니다. 입력: xlsx_name.xlsx 출력: output_name.tsv (필터 걸린 상태의 데이터만 tsv로 출력) from openpyxl import load_workbook xlsx_name = "입력 받..