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