ㅅㅇ
numpy _ 01_1 개요 본문
numpy _ 01_1 개요
1. numpy 이란?
- http://www.numpy.org
- Numerical Python (숫자 다루는 파이썬)
- 벡터, 행렬 연산을 위한 수치해석용 파이썬 라이브러리
- 강력한 다차원 배열(array) 지원
- 빠른 수치 계산을 위한 structured array, 벡터화 연산, 브로드캐스팅 기법등을 통한
다차원 배열과 행렬연산에 필요한 다양한 함수를 제공한다.
- 파이썬 List 보다 더 많은 데이터를 더 빠르게 처리
- 많은 과학 연산 라이브러리들이 Numpy를 기반으로 한다. - > numpy 가 중요한 이유
- scipy, matplotlib, pandas, scikit-learn, statsmodels등
- 처리보다는 데이터를 다루는 역할로서 많이 쓴다.
- > 타 라이브러리에 전달해야 할 일이 많다. (머신러닝, 딥러닝 ...)
- 선형대수, 난수 생성, 푸리에 변환 기능 지원
2. 넘파이에서 데이터 구조
- 스칼라 (Scalar) - 0D 텐서
- 하나의 숫자로 이루어진 데이터
- 값의 방향이 없다.
- 벡터 (Vector)
- 여러개의 숫자들을 특정한 순서대로 모아놓은 데이터 모음(데이터 레코드)
- 값의 방향이 1개 : 1D Array (1차원 배열) - 1D 텐서
- 행렬 (Matrix)
- 벡터들을 모아놓은 데이터 집합
- 값의 방향이 2개 : 2D Array (2차원 배열) - 2D 텐서
- 텐서 (Tensor)
- 같은 크기의 행렬들(텐서들)을 모아놓은 데이터 집합
- ND Array (다차원 배열)
- 3D텐서(값의 방향이 3개. 값의 구분자가 3개), 4D텐서, 5D텐서 ...
- N 텐서
- 차원 (dimension) 의 의미 :
- 프로그래밍에서의 의미:
- 값을 모아둔 것 (데이터의 종류) : 배열
- 데이터를 조회, 표현하는 방향이 여러 방향이다.
- 방향을 표현하는 것 : 차원
- 값을 나열하는데, 순서가 중요하다.
- 선형대수에서쓰일때 의미 :한 공간을 구성 할 수 있는 벡터 집합인 기저에 벡터의 갯수를 차원(dimension)
- > Vector에서 차원 : 원소의 개수
- > 넘파이 배열에서 차원 : 축의 개수
3. 용어
- 축 (axis)
- 값들의 나열 방향
- 하나의 축(axis)는 하나의 범주(분류, Category)이다.
- 랭크(rank)
- 데이터 집합에서 축의 개수.
- 차원 (dimension) 이라고도 한다. 배열 구조 에서는 차원과 Rank는 같은 말
- cf) 차원은 다양한 곳에서 쓰인다.
- [19,2,1] vector 에서의 차원은 원소의 갯수이다.
- 형태/형상(shape)
- 각 축(axis) 별 데이터의 개수
- 이를 이해하는 것이 중요.!!
- 크기(size)
- 배열내 원소의 총 개수
'AI_STUDY > Numpy' 카테고리의 다른 글
numpy _ 04_2 범용함수(Ufunc, Universal function) (0) | 2022.06.24 |
---|---|
numpy _ 04_1 벡터 연산 (0) | 2022.06.24 |
numpy _ 02_2 정렬 (0) | 2022.06.24 |
numpy _ 02_1 배열의 원소 조회 (0) | 2022.06.24 |
numpy _ 01_2 배열 생성 (0) | 2022.06.23 |