푸잉이의 기술블로그

[Python] Numpy (ndarray, ndim, shape, dtype) 기초 정리 본문

IT/Python

[Python] Numpy (ndarray, ndim, shape, dtype) 기초 정리

data고수 2022. 11. 24. 15:07

Numpy

  • 수치 해석용 Python 패키지
  • 다차원의 행렬 자료구조인 ndarray를 지원 -> 벡터와 행렬을 사용하는 선형대수 계산에 주로 사용
  • Numpy 행렬 연산은 C로 구현된 내부 반복문을 사용->  Python 반복문에 비해 속도가 빠름
  • 행렬 인덱싱 (Array indexing)을 사용한 질의 (Query) 기능을 이용-> 짧고 간단한 코드로 복잡한 수식을 계산

ndarray (N-Dimensional Array) 다차원 행렬의 생성

  • Python의 핵심 클래스
  • 다차원 행렬 자료 구조를 지원
  • C언어의 행렬처럼 연속적인 메모리 배치를 가지기 때문에 모든 원소가 같은 자료형이어야 함
  • 벡터화 연산 (Vectorized operation) 가능: 원소 모두 제곱하기 위해서 반복문 사용할 필요 없이 객체 자체를 제곱

Python 리스트 Numpy ndarray
여러가지 타입 원소
linked list 구현
메모리 용량 큼
속도 느림
벡터화 연산 불가
동일 타입 원소
메모리 최적화
계산 속도 향상 
벡터화 연산 가능

 

ndarray.shape

배열 각 차원의 크기를 튜플 형태로 표현.

n행 m열의 행렬일 경의 (n,m) 형태의 튜플로 표현

 

<인덱싱>

a[0][0](층, 행)만 추출
a[0][0][2] (층, 행, 열) 추출

<shape 예문>

1차원(열) 2차원 (행, 열) 4차원 (층, 행, 열)

ndarray.ndim

배열의 차원 수 or 배열의 축 수 

ndarray.dtype

위에서 언급한 것 처럼 기본적으로 Numpy 원소들은 모두 같은 데이터 타입을 가지고 있음

배열의 원소 종류 (numpy.int32, numpy.int64,numpy.float64 등)

ndarray.data

배열의 데이터가 메모리의 어느 위치에 저장되어 있는지 알려줌. (저장된 메모리의 위치를 반환)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

출처:https://supermemi.tistory.com/14

 

'IT > Python' 카테고리의 다른 글

[Python] 리스트, 튜플, 딕셔너리, set 정리  (0) 2022.11.25
[Python] 행렬의 곱  (0) 2022.11.24
Python 문법 기초  (0) 2022.11.04
List comprehension  (0) 2022.10.20
Machine Learning 관련 용어  (1) 2022.10.09
Comments