728x90
Numpy란?
Numerical Python의 준말인 넘파이$^{Numpy}$는 파이썬에서 산술 연산, 수치해석과 같은 수학 및 과학 연산을 위한 파이썬 패키지이다. 다차원 배열을 쉽고 효율적으로 처리하며 Pandas와 연동하여 자주 사용한다. 핵심 기능은 ndarray라고 하는 N차원의 객체 배열이다.
왜 사용하는가?
파이썬의 기본 라이브러리보다 매우 매우 빠르고 효율적이다,
배열 내부의 원소의 값들을 브로드캐스팅할 때, 파이썬은 반복문을 사용하지만, 넘파이는 한 번에 가능하기에 빠르다.
Numpy 설치
$ pip install numpy
ndarray, 다차원 배열 객체 생성
가장 기본적으로 생성하는 방법
>>> import numpy as np
>>> data =np.array([[1.5, -0.1, 3], [0, -3, 6.5]])
>>> data
array([[ 1.5, -0.1, 3. ],
[ 0. , -3. , 6.5]])
>>> tmp = [1,2,3,4]
>>> data = np.array(tmp)
>>> data
array([1, 2, 3, 4])
np.array( 리스트, 튜플, 배열 또는 순차형 데이터)
위의 예시와 동일합니다.
np.arange(범위)
arrange는 파이썬의 range 함수의 배열 버전
>>> np.arange(15)
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])
np.ones(배열의 크기)
배열의 원소가 1로 이루어진 배열의 크기를 반환
>>> np.ones((2,4))
array([[1., 1., 1., 1.],
[1., 1., 1., 1.]])
np.zeros(배열의 크기)
배열의 원소가 1으로 이루어진 배열의 크기를 반환
>>> np.zeros((5,3))
array([[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]])
np.full(배열의 크기, Value)
배열의 원소가 Value로 이루어진 배열의 크기를 반환
>>> np.full((2,2), 44)
array([[44, 44],
[44, 44]])
np.eye(N)
N x N 배열로 이루어졌으며 대각선 원소의 값이 1인 배열을 반환
>>> np.eye(5)
array([[1., 0., 0., 0., 0.],
[0., 1., 0., 0., 0.],
[0., 0., 1., 0., 0.],
[0., 0., 0., 1., 0.],
[0., 0., 0., 0., 1.]])
ndarray 차원과 모양
ndim과 shape
배열의 차원의 수와 모양을 확인하는 속성
>>> data = np.zeros((3,2,4))
>>> data.shape
(3, 2, 4)
>>> data.ndim
3
'Coding > Numpy' 카테고리의 다른 글
[Numpy] 차원 축소 및 확장 (np.expand_dims 와 np.sqeeze) (0) | 2023.12.28 |
---|---|
[Numpy] 배열 이어붙이기 (concatenate, vstack, hstack, r_, c_) (1) | 2023.12.26 |
[Numpy] 팬시 색인(fancy indexing) (1) | 2023.12.22 |
[Numpy] Numpy 메서드 ( argmin, argmax, cumsum, cumprod) (0) | 2023.12.21 |