Notice
Recent Posts
Recent Comments
Link
푸잉이의 기술블로그
[Python] Numpy (ndarray, ndim, shape, dtype) 기초 정리 본문
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) 형태의 튜플로 표현
<인덱싱>



<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