codinging

[Library] NumPy - 1 본문

Python/Library

[Library] NumPy - 1

대충사는사람1 2023. 9. 5. 20:25

NumPy(Numerical Python)

NumPy는 행렬이나 일반적으로 대규모 다차원 배열을 쉽게 처리할 수 있도록 지원하는 파이썬의 라이브러리이다.

 

NumPy Tutorials

https://numpy.org/devdocs/user/quickstart.html

 

NumPy기본

ndarray.ndim

- 배열의 축(차원) 수

ndarray.shape

- 배열의 n행과 m열을 (n, m) 으로 표현

ndarray.size

- 배열의 총 요소 수

ndarray.dtype

- 배열의 요소 유형을 설명하는 객체

ndarray.itemsize

- 배열의 각 요소의 크기

>>> import numpy as np
>>> a = np.arange(15).reshape(3, 5)
>>> a
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14]])
>>> a.shape # (행, 열)
(3, 5)
>>> a.ndim # 차원
2
>>> a.dtype.name # 요소 타입
'int64'
>>> a.itemsize # 요소 크기
8
>>> a.size # 배열 크기
15
>>> type(a)
<class 'numpy.ndarray'>
>>> b = np.array([6, 7, 8])
>>> b
array([6, 7, 8])
>>> type(b)
<class 'numpy.ndarray'>

 

예시

 

배열 생성

>>> data1 = [1,2,3,4,5]
>>> data1
[1, 2, 3, 4, 5]
>>> data2 = [1,2,3,3.5,4]
>>> data2
[1, 2, 3, 3.5, 4]
>>> arr1 = np.array(data1)
>>> arr1
array([1, 2, 3, 4, 5])

2차원 배열(다차원 배열) 생성

>>> a = np.array([[1, 2, 3], [4, 5, 6]])
>>> a
array([[1, 2, 3],
       [4, 5, 6]])

>>> b = np.array([(1, 2, 3), (4, 5, 6)])
>>> b
array([[1, 2, 3],
       [4, 5, 6]])

명시적 생성

>>> c = np.array([[1, 2], [3, 4]], dtype=complex)
>>> c
array([[1.+0.j, 2.+0.j],
       [3.+0.j, 4.+0.j]])

요소 지정된 배열 만들기(zeros, ones, empty)

>>> np.zeros((3, 4))
array([[0., 0., 0., 0.],
       [0., 0., 0., 0.],
       [0., 0., 0., 0.]])
       
>>> np.ones((2, 3, 4), dtype=np.int16)
array([[[1, 1, 1, 1],
        [1, 1, 1, 1],
        [1, 1, 1, 1]],

       [[1, 1, 1, 1],
        [1, 1, 1, 1],
        [1, 1, 1, 1]]], dtype=int16)
        
>>> np.empty((2, 3)) 
array([[3.73603959e-262, 6.02658058e-154, 6.55490914e-260],  # may vary
       [5.30498948e-313, 3.14673309e-307, 1.00000000e+000]])

arrange( python 내장함수 range와 유사하지만 배열을 반환)

>>> np.arange(10, 30, 5)
array([10, 15, 20, 25])
>>> np.arange(0, 2, 0.3)  # it accepts float arguments
array([0. , 0.3, 0.6, 0.9, 1.2, 1.5, 1.8])

linspace(a, b, c) 

a에서 b까지 c개로 나눠서 배열화

>>> from numpy import pi
>>> np.linspace(0, 2, 9)                   # 9 numbers from 0 to 2
array([0.  , 0.25, 0.5 , 0.75, 1.  , 1.25, 1.5 , 1.75, 2.  ])
>>> x = np.linspace(0, 2 * pi, 100)        # useful to evaluate function at lots of points
>>> f = np.sin(x)

'Python > Library' 카테고리의 다른 글

[Library] NumPy - 2  (0) 2023.09.06