[공식] (https://numpy.org/)
numpy: 수치적 연산을 위해 최적화된 모듈
파이썬을 활용한 데이터 분석에서 가장기본
이 자체로도 많이 사용되고 앞으로 배울 pandas머신러닝 등 수많은 분야에서 기본적으로 사용하는 모듈
파이썬 개발자라면 꼭 익힐 필요 있다
수학수치 연산 / 합, 평균, 행렬 연산등..
추가적으로 scipy, statsmodel 같은 것들도 numpy 기반으로 구현됨.
상황에 따라 pandas 안써도 numpy 만으로도 가능.
기본타입: ndarray (n-dimensional array) 다차원 배열 표현
파이썬에 list가 있는데 굳이 사용하는 이유
1. 성능 : 성능적으로 훨~씬 빠르다
2. 메모리 : 훨씬 적은 메모리 사용
3. 제공함수 품부 : 선형대수, 통계관련 여러 수치함수 제공
4. 수많은 모듈에서 numpy 함수명과 기능을 그대로 사용
임포트
import numpy as np
Scalar : 0차원 array (단일값)
Vector : 1차원 array
Matrix : 2차원 array
Tensor : 3차원(이상) array
주의 : list는 원소 타입이 각각 다를 수 있다!
그러나 numpy array의 모든 원소는 '한가지 타입' 으로만 정의 된다!
스칼라
np.array(10)
# array(10)
벡터
arr1 = np.array([1,2,3,4,5,])
# array([1, 2, 3, 4, 5])
메트릭
arr2 = np.array([[1,2,3],[4,5,6]])
# array([[1,2,3],[4,5,6]])
텐서 (그이상 )..
Shape
numpy에서 해당 array의 크기를 알수있다.
shape를 확인함으로써 몇개의 데이터가 있는지 몇차원으로 존재하는지 등을 확인할 수있다.
arr1.shape
# (5,) <- 숫자의 개수는 차원
arr2.shape
# (2, 3)
ndim 차원수
# 몇 차원 데이터인지?
# ndim 과 len(arr.shape) 은 같다!
arr1.ndim
# 1
arr2.ndim
# 2
size: 데이터 개수
arr1.size
# 5
arr2.size
# 6
dtype : data type
arr1.dtype
# # dtype('int64') 정수 64bit (8byte)
np.arange()
- array 생성
- range()와 사용법 유사
# 0부터 10 전까지 [0,10]
np.arange(10)
# 1부터 10 전까지
np.arange(1,10)
# 1부터 10 전까지 2스텝 씩
np.arange(1,10,2)
# 10부터 0 전까지 -1
np.arange(10,0,-1)
# 1부터 10 전까지 데이터 타입 int 16
np.arange(1,10,dtype=np.int16)
astype : 타입 변환 반환
d = np.arange(3, 10)
d # dtype=int64 타입
d.astype(np.float64)
# array([3., 4., 5., 6., 7., 8., 9.])
# 원본은 변화 없다
d
# array([3, 4, 5, 6, 7, 8, 9])
* 반환 값이 있을땐 원본 변화 x , 반환값이 없을떄 원본 변화 o
reshape()
ndarray의 형태, 차원을 바꾸기 위해 사용
머신러닝, 데이터 프로세싱에서 매우 자주 사용됨, (차원 변환)
# (12,) -> (2, 6)
np.arange(12).reshape(2, 6)
# array([[ 0, 1, 2, 3, 4, 5],
# [ 6, 7, 8, 9, 10, 11]])
'AI > 파이썬' 카테고리의 다른 글
| pandas - Series (0) | 2026.04.09 |
|---|---|
| numpy - Boolean Indexing (0) | 2026.04.08 |
| numpy - axis (차원축) (0) | 2026.04.07 |
| numpy - shape (차원) 변경하기 (0) | 2026.04.06 |
| numpy(2) (0) | 2026.04.05 |