본문 바로가기

분류 전체보기

(54)
Kubernetes : Deployment 디플로이먼트 - 파드의 개수를 관리 : 시스템의 처리 능력, 서비스를 중단하지 않는 가용성, 비용 측면에서 매우 중요하다. - 레플리카셋과 함께 동작한다. - 서버 타입의 워크로드에 적합한 컨트롤러 - 기능 : 스케일 / 롤아웃 / 롤백 / 자동 복구 apiVersion: apps/v1 kind: Deployment metadata: name: web-deploy spec: replicas: 3 # 생성하고 유지할 파드의 개수 selector: matchLabels: # 컨트롤러와 파드를 대응시키는 라벨 app: web template: metadata: labels: app: web # 파드의 라벨. 컨트롤러의 matchLabels와 일치해야함. spec: containers: - name: nginx..
Kubernetes : Pod & Manifest 커맨드 동작 kubectl cluster-info K8s 클러스터의 엔드포인트를 표시 kubectl get no K8s 클러스터를 구성하는 노드 목록 표시 kubectl run 파드 실행 kubectl get po 파드 목록 출력 kubectl delete po 파드 이름 지정 후, 삭제 kubectl get all 모든 오브젝트 출력 kubectl logs 컨테이너 프로세스가 STDOUT / STDERR로 출력하는 로그를 표시 - 파드를 지우면 로그를 출력할 수 없다 kubectl get deploy,po 디플로이먼트와 파드 목록 표시 kubectl get deploy 디플로이먼트 목록 표시 kubectl delete deploy 디플로이먼트 및 관련 파드 일괄 삭제 kubectl get jobs 잡의..
Quant : Backtesting - 재무제표 기반 Load Data 데이터 출처 : 증권사 API, 네이버 금융, 금튜형, 유료 데이터 벤더 - 데이터의 cleaning, validation 必 - Missing Value 전처리 必 - 존재하지 않는 지표는 다른 지표로 대체 # 코드를 돌릴 때 warning이 안나오게 하기 import warnings warnings.filterwarnings('ignore') # Load df = pd.read_csv("my_data/fin_statement_new.csv") df.head() # Drop column df = df.drop(["상장일"], axis=1) # Rename Column df = df.rename(columns={ "DPS(보통주, 현금+주식, 연간)": "DPS", "P/E(Adj., ..
Quant : Visualization - Seaborn Seaborn - Python의 visualization 모듈 - Matplotlib 보다 디자인이 더 깔끔하고 다양하다. sns.countplot(x="size", data=df) 사용 예시 # figsize 조정 fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(18, 3)) ax = sns.barplot(data=df, x="date", y="수익률(%)", ax=ax); # x tick label 45도 돌리기 current_x_tick_label = ax.get_xticklabels() ax.set_xticklabels(current_x_tick_label, rotation=45); - matplotlib : tidy form data(raw data)에 ..
Quant : Visualization - Matplotlib 시각화 : Visualizaion Matplotlib !pip install matplotlib import matplotlib.pyplot as plt Matplotlib의 2가지 인터페이스 1. Stateful 인터페이스 - Matplotlib이 암묵적으로 현재 상태를 들고 있음 - 내부적으로 현재 타겟이 되는 figure, ax 등을 설정하고, operation이 발생하면 '내부'에서 해당 figure, ax에 적용함 - 사용은 비추 내부적으로 변화를 적용하기에 직관적이지 못함 다수의 plot을 한번에 그리기 어려움 x = [-3, 5, 7] y = [10, 2, 5] plt.figure(figsize=(15, 3)); # ; : semi-colon 각각의 함수들이 아웃풋창에 안 나오게 하기 위해 ..
Quant : Pandas - 데이터 합치기 1. Appending new rows to DataFrames 1.1 Append without using append() : using loc() - in-place 방식. 원본 데이터를 유지하며 데이터 변경 - 그 외의 방식은 메모리를 복제하는 과정이 추가되기에 비효율성 有 df = pd.DataFrame(columns=['a', 'b']) Add data as 'list' df.loc[0] = [1, 2] df.loc['ㅋㅋ'] = [1, 2] Add data as 'dict' df.loc[len(df)] = {'b' : 'ㅎ', 'a': 'ㅋ'} Add data as 'Series' df.loc["yay"] = pd.Series({'a': 'ㅋ', 'b' : 'ㅎ'}) 1.2 Append usi..
Quant : Pandas - Grouping Grouping PER 값에 따라 group number 부여하기 - 값을 기준으로 grouping 하기 1) boolean section(조건식) & loc 사용 df.shape # (681, 17) bound1 = df['PER(배)'] >= 10 # (378, 17) bound2 = (5
Quant : Pandas - API(2) Boolean Selection Boolean Series - 직접 인덱싱을 하는게 아니라, 조건식으로 해당되는 컬럼만 추출 (>, 2 # a False # b False # dtype: bool DataFrame 내에서 Boolean Series 만들기 a = df['순이익률(%)'] > df['영업이익률(%)'] # 동일한 index(row)에 대해 비교 a.head() # 0 False # 1 False # 2 False # 3 False # 4 False # dtype: bool Boolean series로 indexing 하기 df[a] // a : 위에서 선언한 boolean series df.shape # (681, 15) df[a].shape // a가 True인 것만 가져왔기에, 사이즈가..