[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