AI/ML

넘파이 (NumPy) - ndarray , 관련 함수들

Jooyoung Lee 2023. 1. 6. 20:26
반응형
NumPy는 Numerical Python을 의미한다.
파이썬에서 선형대수 기반의 프로그램을 쉽게 만들 수 있도록 지원하는 대표적인 패키지다.
  • NumPy는 C/C++과 같은 저수준 언어 기반의 호환 API를 제공한다.
  • NumPy는 빠른 배열 연산을 보장하지만, 파이썬 언어 자체가 가지는 수행 성능의 제약으로 중요한 부분은 
    C/C++ 기반의 코드로 작성하고 이를 NumPy에서 호출하는 방식으로 통합한다. (Tensorflow가 대표적인 예시)

 

ndarray 개요

<NumPy ndarray 배열의 차원들>

array1 = np.array([1, 2, 3])
print('array1 type:', type(array1))
print('array1 array 형태:', array1.shape)

array2 = np.array([[1, 2, 3],
                   [2, 3, 4]])
                   
print('array2 type:', type(array2))
print('array2 array 형태:', array2.shape)

array3 = np.array([[1, 2, 3]])
print('array3 type:', type(array3))
print('array3 array 형태:', array3.shape)
  • ndarray로 변환을 원하는 객체를 인자로 입력하면 ndarray를 반환한다.
  • ndarray.shape는 ndarray의 차원과 크기를 튜플(tuple)로 나타낸다.
  • [1, 2, 3]인 array1의 shape는 (3,) 이다.
    → 1차원 array로 3개의 데이터를 가지고 있음을 뜻함.
  • [[1,2,3], [2,3,4]]인 array2의 shape는 (2,3) 이다.
    → 2차원 array로, 2개의 low와 3개의 column으로 구성되어 2*3 = 6개의 데이터를 가지고 있음을 뜻함.
  • [[1,2,3]]인 array3의 shape는 (1,3) 이다.
    → 1개의 low 3개의 column으로 구성된 2차원 데이터를 의미함.

ndarray 데이터 타입

import numpy as np

list1 = [1, 2, 3]
print(type(list1))

array1 = np.array(list1)
print(type(array1))
print(array1, array1.dtype)

 

import numpy as np

list1 = [1, 2, 'test']
array1 = np.array(list1)
print(array1, array1.dtype)

list2 = [1, 2, 3.0]
array2 = np.array(list2)
print(array2, array2.dtype)​

 


NumPy 관련 함수 정리

  • astype( ) : 데이터값의 타입 변경
array_int = np.array([1, 2, 3])
array_float = array_int.astype('float64')
print(array_float, array_float.dtype)

  • arange( ) : array를 range ()로 표현하는 것. 
sequence_array = np.arange(10)
print(sequence_array)
print(sequence_array.dtype, sequence_array.shape)

  • zeros( ), ones( ) : 0과 1로 초기화
zero_array = np.zeros((3, 2), dtype='int32') #dtype을 정하지 않으면 float64로 array 채움
print(zero_array)
print(zero_array.dtype, zero_array.shape)

ones_array = np.ones((3, 2))
print(ones_array)
print(ones_array.dtype, ones_array.shape)

 

반응형