[Numpy Built-in Functions]
2021. 1. 12. 16:01ㆍ[TIPs]/Numpy
evenly spaced values within a given interval : np.arange()
np.arange(start = 0, end = 1.01, step = 0.01)
# ==> returns 0 부터 1.01까지 0.01의 간격으로 다 반환
random sample from 1-D array : np.random.choice()
a = [1,2,3,4,5]
np.random.choice(a,size=3)
# ==> 'a'라는 1-D array의 element중에서 random하게 3개 추출
concatenate arrays : np.concatenate()
a = np.array([[1,2,3,4,5]])
b = np.array([[6,7,8,9,10]])
# by row
np.concatenate([a,b],axis=1)
# ==> returns :
# array([[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]])
# by column
np.concatenate([a,b],axis=0)
# ==> returns :
# array([[ 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10]])
flatten array into 1-D : np.flatten()
a = array([[[1],
[2],
[3],
[4],
[5]]])
# a dimension : (1,3,1)
a.flatten()
# ==> returns :
# array([1, 2, 3, 4, 5])
# new dimension : (5,)
flip order : np.flipud()
a = array([1, 2, 3, 4, 5])
np.flipud(a)
# ==> returns : array([5, 4, 3, 2, 1])
[Linear Algebra]
[transpose] $a^T$
# a 라는 np.array가 있다고 가정
a.T
# ==> returns transpose of 'a'
[Identity] $I$
np.identity(n)
# ==> returns n by n identity matrix
[inverse] $a^{-1}$
# a 라는 np.array가 있다고 가정
np.linalg.inv(a)
# ==> returns inverse of a matrix 'a'
[dot product] $a{\cdot}b$
# a 라는 np.array가 있다고 가정
# b 라는 np.array가 있다고 가정
np.dot(a,b)
# ==> returns dot product of 'a' and 'b'
[magnitude] $||a||$
# a 라는 np.array가 있다고 가정
np.sqrt(np.dot(a.T,a)) # transpose 해줘야함
# ==> returns magnitude of 'a'
[determinant] $|a|$
# a 라는 np.array가 있다고 가정
np.linalg.det(a)
# ==> returns determinant of 'a'
[rank]
# a 라는 np.array가 있다고 가정
np.linalg.matrix_rank(a))
# ==> returns rank of 'a'
[variance] $\frac{\sum(X-\bar{X})^2}{N}$
# A 라는 np.array가 있다고 가정
A.var(ddof=) # population : ddof = 0 / sample : ddof = 1
# ==> returns variance of 'A'
[standard deviation] $\sqrt{Var(X)}$
# A 라는 np.array가 있다고 가정
A.std(ddof=) # population : ddof = 0 / sample : ddof = 1
# ==> returns std of 'A'
[covariance] $\frac{\sum[(X-\bar{X})(Y-\bar{Y})]}{N}$
# A 와 B라는 np.array가 있다고 가정 (same length)
np.cov(A,B,ddof=) #population일 경우 ddof=0, sample일 경우 ddof=1
# ==> returns 2 X 2 symmetric matrix with diagnoal : variance
# [[var(A) cov(AB)]
# [cov(BA) var(B)]]
[correlation coefficient] $\rho = \frac{Cov(X,Y)}{\sigma_X\sigma_Y}$
# A 와 B라는 np.array가 있다고 가정 (same length)
np.corrcoef(A,B)
# ==> returns 2 X 2 symmetric matrix with diagonals : 1 (자기 자신에 대한 correlation)
728x90