1. Numpy란?
- Numerical Python의 약자.
- **다차원 배열(ndarray)**을 쉽게 만들고, 처리하고, 연산할 수 있게 해주는 파이썬 라이브러리.
- 배열, 행렬, 선형대수 연산, 통계 집계 등 다양한 수치 계산 기능을 지원.
2. Numpy 기본
(1) 다차원 배열 만들기
- np.array(리스트)→ 리스트 안 중첩 정도 = 배열 차원.
- → 리스트를 넘파이 배열로 변환.
예시:
import numpy as np
arr = np.array([[1,2,3],[4,5,6]])
- 배열의 모양(shape) 확인: arr.shape
- 초기화 함수들: np.zeros(), np.ones(), np.full(), np.eye(), np.random.randn()
(2) 배열 인덱싱 (Indexing)
- 특정 원소를 하나씩 추출.
- 대괄호 [ ]를 사용하여 접근, 차원 순서대로 인덱싱.
예시:
arr[0][1] # 0행 1열
(3) 배열 슬라이싱 (Slicing)
- 범위로 여러 원소를 추출.
- [시작:끝:간격] 형식. (끝은 포함하지 않음)
예시:
arr[0:2, 1:3]
- 시작, 끝, 간격 생략 가능:
- 시작 기본값 0
- 끝 기본값 배열 끝
- 간격 기본값 1
3. 배열 간 연산 (Array Operations)
(1) 원소 간 사칙연산
- 배열 끼리 원소별 덧셈, 뺄셈, 곱셈, 나눗셈 가능.
- 같은 shape일 때만 가능.
(2) Broadcasting (브로드캐스팅)
- 배열과 스칼라(숫자) 간 연산도 가능.
- 배열의 모든 원소에 자동으로 숫자 연산 적용.
예시:
arr + 3 # 배열 모든 원소에 3을 더함
4. Aggregation (집계 연산)
(1) 전체 집계
- 배열 전체에 대해 합계(sum), 평균(mean), 곱(prod), 최대/최소값(max, min), 최대/최소 위치(argmax, argmin) 구할 수 있음.
예시:
np.sum(arr)
np.mean(arr)
(2) 축(axis) 집계
- axis 인자를 이용해 특정 축을 따라 집계 가능.
예시:
np.sum(arr, axis=0) # 열 방향 합
np.sum(arr, axis=1) # 행 방향 합
5. 고급 Broadcasting
- 서로 다른 모양(shape)의 배열 간에도, 차원을 자동 확장해서 연산하는 기술.
- 조건:
- 차원 수가 다르면 작은 쪽이 1로 확장
- 같은 위치 차원끼리 크기가 맞거나, 둘 중 하나가 1이면 가능
요약 포인트
키워드 설명
np.array() | 리스트 → 넘파이 배열 변환 |
.shape | 배열 모양 확인 |
Indexing | 특정 원소 추출 |
Slicing | 여러 원소 추출 ([start:end:step]) |
사칙연산 | 배열 간 또는 배열-숫자 간 연산 |
Broadcasting | 자동 차원 확장 연산 |
Aggregation | 합계, 평균 등 집계 연산 (sum, mean 등) |
axis | 특정 축에 따라 집계 (axis=0, axis=1) |
LIST
'Python' 카테고리의 다른 글
matplotlib 실습 (0) | 2025.05.01 |
---|---|
감성분석 이론 (0) | 2025.05.01 |
크롤링 (2) | 2025.04.26 |
matplotlib 라이브러리 (0) | 2025.04.26 |
pandas 라이브러리 (0) | 2025.04.26 |