전체 글 312

seaborn

Matplotlib을 기반으로 한 고수준 시각화 라이브러리2D 그래프 시각화 라이브러리 분포 그래프• sns.histplot() → 히스토그램 / KDE 그래프• sns.kdeplot() → 커널 밀도 추정 그래프• sns.distplot() → (구버전, histplot으로 대체됨) 관계 그래프• sns.scatterplot() → 두 변수 간 관계 산점도• sns.lineplot() → 선 그래프• sns.regplot() → 회귀선 포함 산점도 카테고리형• sns.barplot() → 평균 막대 그래프 (통계 기반)• sns.countplot() → 빈도 막대 그래프• sns.boxplot() → 박스 플롯• sns.violinplot() → 바이올린 플롯 (분포 + 밀도)• sns.stripplo..

matplotlib

파이썬에서 가장 기본적이고 강력한 시각화 라이브러리로, 데이터 분석 및 머신러닝에서 그래프를 그릴 때 가장 자주 사용 코랩에서 matplotlib 한글 적용법!apt-get install -y fonts-nanum!rm -rf /root/.cache/matplotlib한 후에 런타임 -> 세션 다시 시작import matplotlib.font_manager as fmimport matplotlib.pyplot as pltfrom matplotlib import rc# 1. 실제 폰트 파일 경로 지정font_path = '/usr/share/fonts/truetype/nanum/NanumGothic.ttf'# 2. 폰트 이름 얻기 (matplotlib 내부명)font_name = fm.FontPropert..

set

set은 “중복 없는 원소들의 모음”을 해시 기반으로 매우 빠르게 관리하는 가변(collection) 타입이야. 원소의 존재 여부 체크, 합집합·교집합 같은 집합 연산을 고속으로 처리 기본 성질중복 없음: 같은 값은 하나만 보관• 순서 없음: 인덱스로 접근 불가(삽입 순서를 믿으면 안 됨)• 변경 가능(mutable): add, remove 등으로 수정 가능• 원소는 해시 가능해야 함: 불변(immutable)·hashable 타입만 원소로 가능– 가능: int, str, bool, tuple(내부도 해시 가능해야), frozenset– 불가: list, dict, set 등 가변 타입• 평균 시간복잡도– membership 체크 x in s: 평균 O(1)– 추가/삭제 add, remove: 평균 O(..

pandas

Pandas (Panel Data System) 는 데이터 분석과 전처리를위한 필수 라이브러리Series | 1차원 데이터(열 하나) | pd.Series([1,2,3])DataFrame | 2차원 테이블형 데이터 | pd.DataFrame([[1,2],[3,4]])index | 행 이름 | 0,1,2,… 또는 지정 가능columns | 열 이름 | ['age','height']values | 실제 데이터 (NumPy 배열) | df.values 데이터 입출력 및 생성# 딕셔너리로 생성df = pd.DataFrame({ 'name': ['A', 'B', 'C'], 'age': [25, 30, 27], 'score': [90, 85, 88]})# 리스트로 생성s = pd.Series([10..

numpy

Python에서 수치 계산과행렬 연산을 빠르게 수행하기 위한 핵심 라이브러리 핵심 개념ndarray: 다차원 배열 객체. 예시: np.array([1,2,3])벡터화 연산: 반복문 없이 전체 배열에 수식 적용. 예시: a * 2, a + b브로드캐스팅: 다른 크기의 배열끼리 자동 확장 연산. 예시: a + 3, a + [1,2,3]dtype: 배열 요소의 자료형 지정. 예시: np.array([1,2,3], dtype=float)shape: 배열의 차원 형태. 예시: (행, 열)axis: 연산을 수행할 축. 예시: axis=0 (열), axis=1 (행) 배열 생성 함수np.array([1, 2, 3]) # 리스트로부터 배열 생성 np.zeros((3, 4)) # 0으로 채운 3..

promise와 coroutine 비교

공통점둘다 비동기 작업을 표현함 차이점- 언어레벨promise: js 런타임에 내장된 비동기 제어 객체, 자동으로 이벤트 루프 등록되고 완료되면 콜백 실행coroutine: phthon 언어 차원에서 제공하는 제어 구조. 스스로 실행 x (비동기 함수의 실행 컨텍스트) - 자동 실행 여부promise: 생성되자마자 자동으로 실행coroutine: 생성만 되고 await나 asyncio.run()으로 실행해야함 - 역할 범위promise: 결과값이나 에러를 전달하는 통일된 객체coroutine: 실행을 중단/재개할 수 있는 함수 객체# Pythonasync def foo(): return 10result = foo() # 이건 실행이 아님! 코루틴 객체를 리턴함print(result) # # 실..

playwright, aiomysql

웹 브라우저를 자동으로 제어하는 라이브러리pip install playwrightplaywright install chromium # Chromium 만 설치playwright install # Chromium, Firefox, WebKit 엔진을 모두 설치 우선 Chromium만 필요 # 기본 예제import asynciofrom playwright.async_api import async_playwrightasync def main(): async with async_playwright() as p: browser = await p.chromium.launch(headless=False) page = await browser.new_page() await p..