[Numpy] 슬라이싱, 마스킹, 조건 추출
·
python/Pandas | Numpy
데이터 분석은 "계산" 만큼이나 "필터링"이 중요합니다.필요한 값을 빠르게 꺼내올 수 있어야,이상치를 제거할 수 있고특정 조건만 모델에 투입할 수 있으며불필요한 데이터를 제거하고 속도를 높일 수 있습니다.Numpy는 이를 위해 세 가지 강력한 도구를 제공합니다.슬라이싱 (slicing) → 위치 기반 추출마스킹 (masking) → 조건 기반 필터링조건 추출 → 조건에 맞는 값만 걸러내기 기본 슬라이싱 문법import numpy as nparr = np.array([[10, 20, 30], [40, 50, 60], [70, 80, 90]]) 3 X 3 정수 배열. 행과 열 기준으로 쉽게 부분 배열을 뽑을 수 있다. 행(row) 슬라이싱arr[0] ..
[Numpy] 브로드캐스팅(broadcasting)과 벡터화(vectorization) 연산
·
python/Pandas | Numpy
Python 기본 리스트로 수치 계산을 하려면 보통 for문이 필요하다.하지만 NumPy는 단순한 리스트가 아니라 배열(벡터) 연산이 가능한 구조로 되어 있어,한 줄의 수식만으로도 대량의 데이터를 동시에 처리할 수 있다.그 비결은 바로 벡터화(vectorization) 와 브로드캐스팅(broadcasting) 이다. 용어 설명 벡터화(vectorization)반복문 없이 배열 전체에 연산 수행브로드캐스팅(broadcasting)서로 다른 shape의 배열 간 연산 시 자동 확장 벡터화 연산 기본import numpy as npa = np.array([1, 2, 3])b = np.array([10, 20, 30])a + b # → array([11, 22, 33])a * b ..
[Numpy] ndarray 구조 - 배열의 모양, 차원 ,타입
·
python/Pandas | Numpy
NumPy의 핵심은 바로 ndarray다.이 객체를 제대로 이해하지 못하면 벡터 연산, 브로드캐스팅, 슬라이싱, reshape, 연산 최적화 등 모든 기능이 막히게 된다. ndarray란?N-dimensional array: 다차원 배열리스트와 비슷하지만 훨씬 빠르고, 메모리 효율적이며, 다양한 수치 연산 지원Pandas의 .values도 사실 내부적으로는 ndarray 배열 생성 - np.array()import numpy as npa = np.array([1, 2, 3]) # 1차원 배열b = np.array([[1, 2], [3, 4]]) # 2차원 배열 배열 속성 확인a.shape # (3,)a.ndim # 1a.dtype # int64a.size # ..