ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Python/Numpy] 파이썬의 라이브러리 : 넘파이 (1)
    Study/Python 2022. 7. 25. 16:52

     

     

     

    넘파이란?

     

    데이터 과학 전반에 사용되는, 수치 계산을 위해 제작된 Python의 외부 라이브러리이다. 특히 머신러닝, 딥러닝을 구현할 때 행렬 및 다차원 배열 계산을 할 때 유용하다.

     

     

     

    넘파이 사용법

     

    코드 내에서 import문을 이용하여 라이브러리를 불러온다.

    import numpy as np

     

     

     

    다차원 배열의 속성들

     

    ndim : 배열 축 혹은 차원의 개수를 나타냄
    shape : 배열의 형상을 기술하며 (m, n) 형식의 튜블 형으로 나타냄
    size : 배열 원소의 개수를 말하며 (m, n) 형상 배열의 size는 m X n임
    dtype : 배열 원소의 자료형을 기술함
    itemsize : 배열 원소의 크기를 바이트 단위로 기술. 예를 들어 int32 자료형의 크기는 32/8 = 4바이트
    data : 배열의 실제 원소를 포함하고 있는 버퍼
    stride : 배열의 차원별로 다음 요소로 점프하는 데에 필요한 거리를 바이트로 표시한 값
     
     
    넘파이로 array 객체를 생성한 후, a 객체의 형상, 차원, 자료형, 크기, 요소의 수를 출력한 모습이다.
    import numpy as np
    
    a = np.array([2, 3, 4])  # 넘파이로 ndarray 객체 생성
    
    # a 객체의 형상, 차원, 요소의 자료형, 요소의 크기(byte), 요소의 수
    a.shape, a.ndim, a.dtype, a.itemsize, a.size
    ((3,), 1, dtype('int64'), 8, 3)

     

    넘파이로 array 객체 b를 생성한 후, b 객체의 shape(형태)를 출력한 모습이다. (m, n)의 형태로 나타내며, b 객체는 두 개의 열과 세 개의 행을 가진 형태임을 알 수 있다.

    b = np.array([[1, 2, 3], [4, 5, 6]])  # ndarray 객체인 b 생성
    
    b.shape
     
    (2, 3)

     

    다차원 배열은 파이썬 리스트와 유사하게 연산자 적용 가능. 다만 사칙연산 수행 시, 개별 원소별로 연산이 이루어진다.

    a = np.array([10, 20, 30]) 
    b = np.array([1, 2, 3])
    
    a + b
    array([11, 22, 33])

     

    a - b
    array([ 9, 18, 27])

     

    a * b
    array([10, 40, 90])

     

    a / b
     
     
    array([10., 10., 10.])

     

    넘파이 배열의 데이터 타입을 지정하는 방법으로는 속성 값으로 지정하는 방법과 문자열 형식으로 속성 값을 지정하는 방법, 두 가지가 존재한다.

    a = np.array([1, 2, 3, 4], dtype = np.int32)  # 속성 값으로 지정
    b = np.array([1, 2, 3, 4], dtype = 'int32')  # 문자열 형식으로 속성 값 지정

     

Designed by Tistory.