본 포스팅은 NumPy 패키지 홈페이지 원문을 기반으로 작성하였습니다.
전제조건
Python에 대해서 조금의 배경지식이 필요합니다. 최소한 제 포스트의 Python 사전 준비 및 Python 완전기초 카테고리에 있는 내용을 먼저 숙지하시기를 바랍니다. 또한, 예제를 실행하려면 NumPy와 함께 matplotlib 라이브러리가 설치되어 있어야 합니다.
학습자 프로필
이것은 NumPy의 배열에 대한 간략한 개요입니다. n차원() 배열이 어떻게 표현되고 조작될 수 있는지 보여줍니다. 특히 for 루프를 사용하지 않고 n차원 배열에 일반적인 함수를 적용하는 방법을 모르거나 n차원 배열의 축 및 모양 속성을 이해하려는 경우 이번 포스팅의 글이 도움이 될 수 있습니다.
학습 목표
- NumPy에서 1차원, 2차원 및 n차원 배열의 차이점 이해
- for 루프를 사용하지 않고 n차원 배열에 일부 선형 대수 연산을 적용하는 방법 이해
- n차원 배열의 축 및 모양 속성 이해
NumPy 기초
NumPy의 주요 객체는 동종 다차원 배열입니다. 이것은 음이 아닌 정수의 튜플에 의해 인덱싱된 모두 같은 유형의 요소(보통 숫자)의 테이블입니다. NumPy에서는 차원을 축이라고 합니다.
예를 들어, 3D 공간 [1, 2, 1]에서 점의 좌표는 하나의 축을 가집니다. 그 축에는 3개의 요소가 있으므로 길이가 3이라고 합니다.
아래의 배열 예시에는 2개의 축이 있습니다. 첫 번째 축의 길이는 2이고 두 번째 축의 길이는 3입니다.
[ [1., 0., 0.],
[0., 1., 2.] ]
NumPy의 배열 클래스는 ndarray라고 합니다. 별칭 배열로도 알려져 있습니다. numpy.array는 1차원 배열만 처리하고 더 적은 기능을 제공하는 표준 Python 라이브러리 클래스 array.array와 동일하지 않습니다. ndarray 객체의 더 중요한 속성은 다음과 같습니다.
- ndarray.ndim : 배열의 축 수(차원)
- ndarray.shape : 배열의 차원. 각 차원에서 배열의 크기를 나타내는 정수의 튜플입니다. n개의 행과 m개의 열이 있는 행렬의 경우 모양은 (n, m)입니다. 따라서 shape 튜플의 길이는 축의 수 ndim입니다.
- ndarray.size : 배열의 총 요소 수. 이것은 shape 요소의 곱과 같습니다.
- ndarray.dtype : 배열의 요소 유형을 설명하는 개체입니다. 표준 Python 유형을 사용하여 dtype을 만들거나 지정할 수 있습니다. 또한 NumPy는 자체 유형(ex. numpy.int32, numpy.int16 및 numpy.float64)을 제공합니다.
- ndarray.itemsize : 배열의 각 요소의 크기(바이트)입니다. 예를 들어 float64 유형의 요소 배열은 항목 크기가 8(=64/8)인 반면, complex32 유형 중 하나는 항목 크기가 4(=32/8)입니다. ndarray.dtype.itemsize와 동일합니다.
- ndarray.data : 배열의 실제 요소를 포함하는 버퍼. 일반적으로 인덱싱 기능을 사용하여 배열의 요소에 액세스하기 때문에 이 속성을 사용할 필요가 없습니다.
다음 포스팅에서는 실제 NumPy의 함수들을 사용하여 실제 배열 및 행렬 등을 생성해 보겠습니다.
'Python > NumPy' 카테고리의 다른 글
NumPy 인덱싱, 슬라이싱, 반복 (0) | 2021.09.09 |
---|---|
NumPy 기본 옵션 및 함수 (0) | 2021.09.08 |
NumPy 활용 기초 코드 작성 (0) | 2021.09.07 |
Python 리스트와 NumPy 배열의 차이점 (0) | 2021.09.05 |
NumPy 개요 및 패키지 설치하기 (0) | 2021.09.04 |
댓글