SJ_Koding

Numpy의 속성 본문

Data analysis/Numpy

Numpy의 속성

성지코딩 2021. 12. 31. 02:06

출처 -https : //fgnt.github.io/python_crashkurs_doc/include/numpy.html

안녕하세요! 성지코딩입니다. 이번 게시글은 Numpy의 속성에 대해 알아봅니다.

*참고사항: 코드 및 회색글씨는 출력 결과를 의미합니다.

Numpy Array 속성


Numpy 배열에서 사용할 수 있는 속성은 다음과 같습니다.

  • ndim : ndarray의 차원을 나타냄
  • shape : 각 차원의 ndarray 크기를 튜플 형태로 나타냄 (가장 중요)
    • shape의 경우, 정말 많은 곳에서 사용됩니다. 특히, 나중에 게시글로 다루어질 딥러닝 분야에서 자주 쓰이는 DataFrame형, Tensor형에서도 자주 쓰이게됩니다. 꼭 알아두셔야 합니다.
  • size : ndarray에 있는 요소의 총 수
  • dtype : ndarray의 데이터 유형
    • unit8 ~ unit64, int8 ~ int64, float16 ~ float128, bool 등
  • T : ndarray의 전치된 결과 반환 (행, 열 바꾸기 / 전치행렬), T: transpose

모두 (numpy변수명).(속성)처럼 . 연산자로 접근이 가능하며, 자세한 내용은 아래 내용을 참고해주세요!

Numpy 배열 속성 조회


  • ndim : ndarray의 차원을 나타냄
array = np.array([[1, 2, 3], [3, 4, 5]])
print('array의 차원:', array.ndim)

 

array의 차원 : 2

 

  • shape : 각 차원의 ndarray 크기를 튜플 형태로 나타냄 (가장 중요)
print('array의 각 차원별 크기:', array.shape)

array의 각 차원별 크기: (2, 3)


shape는 중요한 속성이므로 추가 설명 해드립니다. 출력 결과가 (2, 3)로 나온 것을 볼 수 있는데 이는 (행, 열)의 개수를 의미합니다.

그렇다면 3차원에서는 어떻게 될까요? 

temp = np.array([[[1, 2, 3], [3, 4, 5]]])
print('temp의 각 차원별 크기:', temp.shape)

array의 각 차원별 크기: (1, 2, 3)

눈치 채셨나요?  n차원인 경우 (n차원의 원소 수, n-1차원의 원소수, ···, 1차원의 원소 수)로 출력됩니다.

따라서 위의 경우

3차원입장에서는 [[1, 2, 3], [3, 4, 5]] 라는 1개의 원소,

2차원입장에서는 [1, 2, 3], [3, 4, 5] 라는 2개의 원소

1차원입장에서는 [1, 2, 3] '혹은' [3, 4, 5]라는 3개의 원소 를 의미합니다.


  • size : ndarray에 있는 요소의 총 수
print('array의 요소의 총 개수:', array.size)

array의 요소의 총 개수: 6

 

  • dtype : ndarray의 데이터 유형
print('array의 데이터 유형:', array.dtype)

array의 데이터 유형 : int32

 

  • T : ndarray의 전치된 결과 반환 (행, 열 바꾸기 / 전치행렬), T: transpose
print('array의 전치 (전) :')
print(array)
print('array의 전치 (후) :')
print(array.T)

array의 전치 (전) :

[[1, 2]

 [3, 4]

array의 전치 (후):

[[1, 3]

 [2, 4]]

 

 

지금까지 Numpy의 속성에 대해 알아보았습니다. 다음 게시글은 Numpy의 배열 형태 변경과 데이터 유형 변경에 대해 알아봅니다.

감사합니다.

 

-SJKoding-