Numpy 정리 (Boost Course)

박상우·2023년 1월 10일
0

Boost Course

목록 보기
7/7
post-thumbnail

Numerical Python
파이썬의 고성능 과학 계산용 패키지
Array 연산의 표준

Numpy의 특징

  • 메모리 효율적
  • 반복문 없이 사용 가능

ndarray

  • np.array = ndarray
  • numpy는 하나의 데이터 type만 배열에 넣을 수 있음
array.shape
  • array의 dimension
  • shape은 맨 뒤부터 column, row, .. 순서로 표현
array.dtype
  • array 전체의 데이터 type
array.size
  • element의 개수

Reshape

array.reshape(shape)
  • size는 같은 한에서, 바꿀 수 있음
  • -1을 넣은 곳은 알아서 개수를 선정 해줌
array.flatten()
  • 1차원 array로 변환

Indexing

a[0,0] = a[0][0]
  • Indexing시 두 가지로 표현 가능

Slicing

a = np.array([1,2,3,4,5],[6,7,8,9,10])
a[:2,:]
a[1:2,:2]
  • 리스트와 달리 원하는 부분만 slicing 가능
a[:,start_point:end_point:step]
  • 요것도 가능

arange

np.arrange(num)
np.arange(start,end,step) 
  • range랑 유사하나, step에 소수도 입력 가능

zeros, ones, empty

np.zeros(shape=())
np.ones(shape=())
np.ones_like(test_matrix)
np.zeros_like(test_matrix)
np.empty_like(test_matrix)
  • matrix shape의 array를 반환

identity

np.identity(n=num)
  • num x num의 단위 행렬 생성

eye

np.eye(row,col,k=start)
  • k index를 시작점으로 단위 행렬 생성
    이전은 0

diag

np.diag(array)
  • 대각 행렬 추출

random sampling

np.random.uniform(start,end,num)
np.random.normal(mean,var,num)
  • 여러가지 분포 함수 사용 가능

operation

array.sum(axis=)
array.mean(axis=)
array.std(axis=)
  • 축을 기준으로 계산 해줌 (sin, cos 등 모두 가능)

concatenate

np.vstack((array1,array2))
np.hstack((array1,array2))
  • vstack은 벡터 행 추가
  • hstack은 벡터 열 추가
np.concatenate((array1,array2),axis=0 or 1)
  • 행렬 붙이기
b = b[np.newaxis,:]
  • 축을 추가시켜줌

array operation

  • array끼리 +, - * 등으로 사칙 연산을 지원
  • Element wise 연산
  • 스칼라, 벡터, 매트릭스에서 broadcasting 으로 없는데 있는 것 처럼 계산 해줌

dot

array1.dot(array2)
  • 행렬곱

transpose

array.T 
  • 전치

Comparison

a = np.arange(5)
a < 3 
  • array((True,True,True,False,False)
  • boolean array가 return 됨

all & any

np.all(a < 3)
  • 모두 3보다 작아야 True
np.any(a < 3)
  • 하나라도 3보다 작으면 True

  • array 간의 비교도 element wise로 가능

where

np.where(a < 3,TRUE_num,False_num)
  • condition이 True인 곳에 TRUE_num, False인 곳에 False_num
np.where(a < 3)
np.isnan(a)
np.isfinite(a)
  • True인 index값을 반환

argmax, argmin

np.argmax(a)
np.argmin(a)
  • 최대값, 최소값의 index를 반환
    axis를 지정해 axis 기반 반환도 가능
np.argsort(a) 
np.argsort(a)[::-1]
  • sorting한 index를 반환

Boolean index

array[array >3]
  • True에 해당하는 값만 불러옴
    boolean list의 shape이 array와 동일해야 함

Fancy index

a = np.array([2,4,6,8])
b = np.array([0,0,1,3,2,1],int)
a[b]
a.take(b)
  • b 배열의 값을 index로 a값 추출
profile
세상아 덤벼라

0개의 댓글