Jooyoung Lee
기록 일지
Jooyoung Lee
  • 분류 전체보기 (27)
    • 임베디드 (9)
    • 딥러닝 (11)
      • ML (3)
      • Notions (4)
      • AI math (4)
      • 강의 리뷰 (0)
    • 논문 리뷰 (1)
    • 스터디 (1)
    • 컴퓨터 비전 (5)

블로그 메뉴

  • About me,
GitHub Contribution
Loading data ...
Jooyoung Lee

기록 일지

넘파이 (NumPy) - ndarray , 관련 함수들
딥러닝/ML

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

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)

 

'딥러닝 > ML' 카테고리의 다른 글

Ensemble (앙상블)  (0) 2023.02.21
Machine Learning (with Python)  (0) 2023.01.06
    '딥러닝/ML' 카테고리의 다른 글
    • Ensemble (앙상블)
    • Machine Learning (with Python)
    Jooyoung Lee
    Jooyoung Lee
    Embedded software engineer

    티스토리툴바