본문 바로가기

AI/Machine Learning

[파이썬 머신러닝 완벽 가이드 정리] 1. 파이썬 기반의 머신러닝과 생태계 이해 - #2 Numpy

Numpy

  • ndarray : N차원 배열 객체
  • 한 개의 ndarray객체에 같은 데이터 타입만 존재해야 한다. 즉, 한 개의 ndarray객체에 int와 float가 함께 있을수없다.
  • ndarrray 데이터 타입 확인 연산 : ndarray.dtype
import numpy as np
array1 = np.array([1,2,3] #shape(3,) 1차원 요소를 3개만 가지고 있다.
array1 = np.array([1,2,3],[2,3,4]) #shape (2,3) 2행 3열

ndarray 타입 변환

대용량 데이터를 다룰 시 메모리 절약을 위해서 형변환을 고려해야한다.

  • astype()을 이용하여 변환.

ndarray 편리하게 생성하기 - arange, zeros, ones

reshape() : ndarray 차원과 크기 변경

ndarray - Indexing : 데이터 세트 선택하기

  • Python 리스트 객체 인덱스와 거의 동일하다고 생각하면된다.
  • 2차원 ndarray에서 슬라이싱 연산도 동일한 논리로 생각하자.

팬시 인덱싱

: 인덱스 집합을 지정하면 해당 위치의 인덱스에 해당하는 ndarray 요소를 반환하는 인덱싱 방식

Boolean Indexing

: 조건 필터링과 검색을 동시에 할수있는 인덱싱 기법

 

배열의 정렬 - sort(), argsort()

기본 오름차순 정렬. 내림차순정렬은 [::-1]

ex) np.sort()[::-1]

sort()

  • np.sort() : 원 행렬은 유지한채 원행렬의 정렬된 새로운 행렬을 반환.
  • ndarray.sort() : 원 행렬 자체를 정렬한 형태로 변환하고 반환값은 None

argsort()

원본 행렬 정렬시 정렬된 행렬의 원래 인덱스를 필요로 할 때 np.argsort()를 사용한다.

  • 정렬 행렬의 원본 행렬 인덱스를 ndarray 형으로 반환한다.

선형대수 연산

np.dot(A,B) : 행렬 내적

np.transpose(A) : 전치 행렬