▪︎ NumPy
- 다차원 배열(행렬)을 쉽게 처리하고 효율적으로 사용할 수 있도록 지원하는 파이썬의 라이브러리
- Numerical Python 의 약자
- 수치해석, 통계 관련 기능을 구현한다고 할 때 가장 기본이 되는 모듈
<aside>
💡
행렬이란?
숫자나 수식을 가로줄(행)과 세로줄(열)로 배열한 2차원 구조의 수학적 객체
</aside>
- NumPy는 파이썬의 리스트보다 효율적이며 빠른 계산이 가능
- Pandas, TensorFlow 등 다양한 데이터 / AI 생태계의 기반
import numpy as np
▫︎ ndarray
- NumPy의 핵심 데이터 구조로, 동일한 자료형을 가진 다차원 배열(행렬)
- 파이썬의 리스트보다 성능과 메모리 효율성에서 우수
List vs ndarray
- 자료형의 차이
- List : 다양한 자료형을 담을 수 있는 가변 길이의 시퀀스 자료형
- ndarray : 동일한 자료형의 데이터를 정해진 크기의 다차원 배열로 저장
- 내부 배열의 원소 개수
- List : 내부 배열의 원소 개수가 달라도 됨
- ndarray : 내부 배열의 원소 개수가 같아야 함
- 연산의 차이
- List : 리스트끼리의 + 가능 (리스트의 병합)
- ndarray : 같은 위치의 원소끼리 연산 (원소의 개수가 다를 경우 오류 발생)
▪︎ 차원과 축
- 차원 (Dimension) : 배열이 몇 단계로 중첩되어 있는지를 나타냄
- 1D : [ 1, 2, 3 ]
- 2D : [ [ 1, 2 ], [ 3, 4 ] ]
- 3D : [ [ [ 1 ], [ 2 ] ], [ [ 3 ], [ 4 ] ] ]
- 축 (Axis) : 다차원 배열의 특정 방향을 의미함
- axis=0 : 행 방향 (세로 축)
- axis=1 : 열 방향 (가로 축)
▪︎ ndarray 구조