728x90

numpy array의 특징과 사용법을 정리해보겠습니다.

1. np.array의 특징

  • numpy는 np.array 함수를 활용하여 배열을 생성합니다.
  • numpy는 하나의 데이터 타입만 정의가 가능하며 배열에 넣을 수 있습니다.
  • List와 가장 큰 차이점은 다이나믹 타이핑을 지원하지 않습니다.
  • C의 Array를 사용하여 배열을 생성하여 속도가 빠릅니다.

2. np.array의 구조

 

np.array와 Python list의 차이점

파이썬의 리스트는 데이터 주소값을 저장합니다. 그리고 데이터를 가져 올때는 해당 주소에 가서 데이터를 가져오게 되죠. 하지만 Numpy Array는 C 배열과 유사하여 연속된 주소를 가지고 있습니다. 배열에 담긴 데이터를 가져온다면 순서대로 가져오면 되기 때문에 메모리를 효율적으로 사용합니다.

 

3. np.array 사용법

 

import numpy as np
test_np_array = np.array([1.0,4.0,5.0,'8'], dtype=np.float)
test_np_array

#출력 : array([1., 4., 5., 8.])

np.array로 선언하고 두번째 인자로 데이터 타입을 선언합니다. 선언된 데이터로 배열이 만들어지며 입력시 다른 데이터를 입력하더라도 선언한 데이터 타입으로 변환됩니다.

 

 

dtype은 배열의 요소가 가지는 데이터 타입을 정의하며 정의된 타입에 따라 메모리 크기가 설정됩니다.

 

test_array = [1.0,4.0,5.0,'8.0'];
test_array

# 출력 : [1.0, 4.0, 5.0, '8.0']

python 리스트가 np.array와 다른 점은 입력시 다른데이터 타입을 입력하면 리스트에 입력되는 것을 확인 할 수 있습니다.

test_np_array.dtype # 배열의 타입을 반환한다.

# 출력 : dtype('float64')

test_np_array.shape # 배열의 shape을 반환함

# 출력 : (4,)

dtype : 배열의 타입을 반환

shape : 배열의 차원을 반환

tensor = [
            [[1,2,5,8],[1,2,5,8],[1,2,5,8]],
            [[1,2,5,8],[1,2,5,8],[1,2,5,8]],
            [[1,2,5,8],[1,2,5,8],[1,2,5,8]],
          ]
np.array(tensor, int).ndim # 몇차원인지 반환

# 3

np.array(tensor, int).size # 데이터의 사이즈 반환

# 36

np.array(tensor, int).nbytes # 메모리 크기 반환

# 144

ndim : 배열이 몇 차원인지 반환

size   : 배열의 데이터 사이즈 반환 

nbytes : 배열의 메모리 크기 반환

+ Recent posts