Numpy
python의 list와 같은 집합 자료구조
1차원 데이터(vector) 혹은 2차원 데이터(matrix)를 다루기 쉽게 도와주는 module
Machine learning의, Deep learning의 기본 자료구조로 Numpy의 ndarray가 사용
n-dimensional array(ndarray)를 이용해요!
numpy를 사용하기 위해서는 module을 설치해야 해요!
ndarray를 생성하는 방법
1.python의 list를 가지고 ndarray를 만들어요! => np.array()
ndarray의 가장 큰 특징 중 하나는 모든 개별적인 요소들이 같은 data type을 가져요.
default는 float예요.
ndarray가 가지는 여러 가지 속성
dtype : ndarray 안에 저장되어 있는 데이터의 type
ndim : ndarray의 차원의 수를 알려줘요!
shape : tuple로 표현되고 차원의 수와 각 차원의 요소의 수를 알려줘요!
2. numpy가 제공하는 ndarray를 만드는 몇몇 개의 함수가 존재
np.ones(), np.zeros(, np.full(), np.empty()
np.ones_like() 기존에 있는 numpy array와 동일한 shape 생성
np.arange() python의 range와 유사하지만 실제 데이터를 가지고 있어요!
np.linspace() 처음 시작부터 어느 단계까지 영역을 나눠 값을 계산해 ndarray를 만들어요.
ndarray를 만들고 그 안에 값을 난수로 초기화하기 위해서는 어떻게 해야 하나요?
5가지 random 계열 함수
np.random.normal()
np.random.rand()
np.random.randn()
np.random.randint() 정수, 나머지 random은 다 실수
np.random.random()
seed 처리, shuffle 처리, sampling 처리
3. ndarray를 사용하기 위해 필수적으로 알아야 하는 속성과 함수
reshape() 내가 가지고 있는 numpyarray의 shape를 바꿈
→새로운 numpyarray가 아니라 view
ravel() →무조건 1차원으로 만들어요! → view
resize() → reshape()은 요소의 수가 맞지 않으면 shape이 변경되지 않아요
→ resize()는 요소의 수가 맞지 않아도 shape을 변경할 수 있어요! → view가 아닌 새로운 ndarray
4. ndarray의 제어
indexing,slicing, boolean indexing, fancy indexing → view
새로운 numpy array를 쓰고 싶으면 copy() 사용
5. ndarray의 연산(사칙, 논리 역산..)
같은 shape을 가지는 ndarray끼리 연산이 가능하고 같은 위치에 있는 요소들끼리 연산이 수행돼요.
만약 shape이 다른 경우 자동으로 shape을 맞추기 위해 ndarray를 변형 → broadcasting
행렬곱 연산 → broadcasting이 적용되지 않아요!
형렬곱연산은 앞쪽 행렬의 열의 수와 뒤쪽 행렬의 행의 수가 일치해야 해요.
6. ndarray를 반복처리 하려면 어떻게 해야 하나요?
for, while을 이용해도 되지만 구현이 어려워요.
iterator를 이용한 while문들 사용해서 반복 처리를 해야 해요!
7. ndarray는 집계 함수를 제공해 줘요!
axis 개념.
ndarray의 데이터 정렬은 pandas에서 얘기하도록 해요!
'머신러닝 딥러닝' 카테고리의 다른 글
| 0818 Pandas 1 (0) | 2021.08.18 |
|---|---|
| 0818 Numpy 7 concatenate(),delete() (0) | 2021.08.18 |
| 0817 Numpy5 (0) | 2021.08.17 |
| 0817 Numpy4 (0) | 2021.08.17 |
| 0816 Numpy 3 (0) | 2021.08.16 |
댓글