.loc / .iloc
.loc는 레이블 기반, .iloc는 정수 위치 기반 인덱싱. .loc 슬라이싱은 끝 레이블을 포함한다.
데이터 조작 — Pandas와 NumPy 활용
· Section 3: Data Manipulation (Pandas/NumPy) (pp.7-11); FAQ 보충 (p.16)
Learn · Glossary
총 30개 용어
.loc는 레이블 기반, .iloc는 정수 위치 기반 인덱싱. .loc 슬라이싱은 끝 레이블을 포함한다.
데이터 조작 — Pandas와 NumPy 활용
· Section 3: Data Manipulation (Pandas/NumPy) (pp.7-11); FAQ 보충 (p.16)
클래스 인스턴스가 __dict__ 없이 고정된 속성 슬롯만 갖도록 해 인스턴스당 메모리 사용량을 줄이는 선언.
성능 최적화와 동시성 — 제너레이터, GIL, 컨텍스트 매니저
· Section 2: Advanced Performance & Optimization (pp.4-7); FAQ 보충 (pp.16-17)
pd.read_csv 등에서 데이터를 지정한 행 수 단위로 나눠 순회하며 읽게 하는 파라미터. 메모리보다 큰 파일 처리에 쓰인다.
데이터 조작 — Pandas와 NumPy 활용
· Section 3: Data Manipulation (Pandas/NumPy) (pp.7-11); FAQ 보충 (p.16)
PEP 703에 따라 GIL을 제거한 CPython 빌드. 3.13에서 실험적으로 시작해 3.14에서 정식 지원으로 격상됐지만 아직 기본 빌드는 아니다.
성능 최적화와 동시성 — 제너레이터, GIL, 컨텍스트 매니저
· Section 2: Advanced Performance & Optimization (pp.4-7); FAQ 보충 (pp.16-17)
한 번에 하나의 스레드만 Python 바이트코드를 실행하도록 강제하는 CPython의 뮤텍스. CPU-bound 멀티스레딩의 병렬성을 제한한다.
성능 최적화와 동시성 — 제너레이터, GIL, 컨텍스트 매니저
· Section 2: Advanced Performance & Optimization (pp.4-7); FAQ 보충 (pp.16-17)
3사분위수와 1사분위수의 차이. 이상치 탐지 시 정상 범위의 기준으로 흔히 사용된다.
데이터 조작 — Pandas와 NumPy 활용
· Section 3: Data Manipulation (Pandas/NumPy) (pp.7-11); FAQ 보충 (p.16)
WHERE 절 필터를 스토리지 레이어까지 내려보내, row group 통계(최솟값/최댓값)로 조건에 안 맞는 row group을 아예 읽지 않고 건너뛰는 최적화.
빅데이터와 분산 시스템 — PySpark 관점
· Section 5: Big Data & Distributed Systems (pp.13-14)
groupby 연산의 처리 과정 — 데이터를 그룹으로 나누고(split), 각 그룹에 함수를 적용하고(apply), 결과를 결합한다(combine).
데이터 조작 — Pandas와 NumPy 활용
· Section 3: Data Manipulation (Pandas/NumPy) (pp.7-11); FAQ 보충 (p.16)
원본 안의 모든 객체를 재귀적으로 새로 복제해, 원본과 완전히 독립적인 사본을 만드는 복사 방식.
핵심 파이썬과 자료구조 — 데이터 엔지니어링 관점
· Section 1: Core Python & Data Structures (pp.2-4)
데이터의 출처·변환 과정·목적지를 추적하는 메타데이터 지도.
ETL과 파이프라인 엔지니어링 원칙
· Section 4: ETL & Pipeline Engineering (pp.11-13)
특정 파티션에 데이터가 편중되어 해당 워커가 병목이 되는 현상.
빅데이터와 분산 시스템 — PySpark 관점
· Section 5: Big Data & Distributed Systems (pp.13-14)
다른 함수를 감싸 소스 코드 변경 없이 동작을 확장하는 함수. func = decorator(func) 형태의 문법적 설탕(syntactic sugar).
핵심 파이썬과 자료구조 — 데이터 엔지니어링 관점
· Section 1: Core Python & Data Structures (pp.2-4)
브론즈(원본)→실버(정제)→골드(비즈니스 집계) 3계층으로 데이터를 단계적으로 정제하는 레이크하우스 설계 패턴.
ETL과 파이프라인 엔지니어링 원칙
· Section 4: ETL & Pipeline Engineering (pp.11-13)
동일한 입력으로 여러 번 실행해도 항상 같은 결과를 내고 부작용이 쌓이지 않는 성질.
ETL과 파이프라인 엔지니어링 원칙
· Section 4: ETL & Pipeline Engineering (pp.11-13)
데이터를 고정 개수의 파일로 해시 분산시켜 저장하는 기법. 세밀한 조직화와 조인 시 셔플 감소에 쓰인다.
빅데이터와 분산 시스템 — PySpark 관점
· Section 5: Big Data & Distributed Systems (pp.13-14)
개별 원소 반복 대신 배열 전체에 연산을 적용해 C 레벨 최적화를 활용하는 기법.
데이터 조작 — Pandas와 NumPy 활용
· Section 3: Data Manipulation (Pandas/NumPy) (pp.7-11); FAQ 보충 (p.16)
shape이 다른 배열 간 산술 연산을 메모리 복사 없이 가능하게 하는 NumPy의 규칙.
데이터 조작 — Pandas와 NumPy 활용
· Section 3: Data Manipulation (Pandas/NumPy) (pp.7-11); FAQ 보충 (p.16)
품질 체크가 실패하면 즉시 파이프라인 실행을 중단해 나쁜 데이터의 전파를 막는 패턴.
ETL과 파이프라인 엔지니어링 원칙
· Section 4: ETL & Pipeline Engineering (pp.11-13)
조인 키에 무작위 접두사를 붙여 데이터를 여러 파티션에 고르게 분산시키는 스큐 완화 기법.
빅데이터와 분산 시스템 — PySpark 관점
· Section 5: Big Data & Distributed Systems (pp.13-14)
참조 카운팅으로는 해제되지 않는 순환 참조 객체 그룹을 주기적으로 찾아 정리하는 CPython의 별도 GC 메커니즘.
핵심 파이썬과 자료구조 — 데이터 엔지니어링 관점
· Section 1: Core Python & Data Structures (pp.2-4)
소스 시스템이 예고 없이 데이터 구조(컬럼, 타입 등)를 바꾸는 현상.
ETL과 파이프라인 엔지니어링 원칙
· Section 4: ETL & Pipeline Engineering (pp.11-13)
최상위 컨테이너만 새로 만들고, 그 안의 중첩 객체는 원본과 참조를 공유하는 복사 방식.
핵심 파이썬과 자료구조 — 데이터 엔지니어링 관점
· Section 1: Core Python & Data Structures (pp.2-4)
yield로 값을 하나씩 지연 평가해 반환하는 함수. 전체 시퀀스를 메모리에 두지 않으며, 한 번 소진되면 재사용할 수 없다.
성능 최적화와 동시성 — 제너레이터, GIL, 컨텍스트 매니저
· Section 2: Advanced Performance & Optimization (pp.4-7); FAQ 보충 (pp.16-17)
CPython이 객체를 가리키는 참조 개수를 추적해, 그 수가 0이 되는 즉시 메모리를 회수하는 방식.
핵심 파이썬과 자료구조 — 데이터 엔지니어링 관점
· Section 1: Core Python & Data Structures (pp.2-4)
__enter__/__exit__(또는 contextlib.contextmanager)로 자원의 준비·정리를 with문 안에서 자동화하는 객체.
성능 최적화와 동시성 — 제너레이터, GIL, 컨텍스트 매니저
· Section 2: Advanced Performance & Optimization (pp.4-7); FAQ 보충 (pp.16-17)
쿼리에 필요한 컬럼만 읽고 나머지는 건너뛰는 최적화. 프로젝션 푸시다운이라고도 한다.
빅데이터와 분산 시스템 — PySpark 관점
· Section 5: Big Data & Distributed Systems (pp.13-14)
불변(immutable) 순서열. 생성 후 내용을 바꿀 수 없고, 모든 원소가 해시 가능하면 딕셔너리 키로도 쓸 수 있다.
핵심 파이썬과 자료구조 — 데이터 엔지니어링 관점
· Section 1: Core Python & Data Structures (pp.2-4)
SQL 값 부분을 플레이스홀더로 두고 드라이버가 이스케이프 처리하게 하는 쿼리 작성 방식. SQL 인젝션을 방지한다.
ETL과 파이프라인 엔지니어링 원칙
· Section 4: ETL & Pipeline Engineering (pp.11-13)
컬럼 값 기준으로 물리적 디렉터리를 나눠 저장, 쿼리 엔진이 무관한 폴더를 건너뛸 수 있게(파티션 프루닝) 하는 기법.
빅데이터와 분산 시스템 — PySpark 관점
· Section 5: Big Data & Distributed Systems (pp.13-14)
Python 객체를 바이트 스트림으로 직렬화하는 과정. 신뢰할 수 없는 데이터의 언피클링은 임의 코드 실행 위험이 있다.
성능 최적화와 동시성 — 제너레이터, GIL, 컨텍스트 매니저
· Section 2: Advanced Performance & Optimization (pp.4-7); FAQ 보충 (pp.16-17)