Numpy Array Functions

2022. 6. 29. 13:36Data Science/with Python(Numpy, Pandas …ect.)

Numpy Methods

암기 ❌! 구글링 ⭕

그래도 자주 사용하는 기본적인

몇 가지는 알아두는 것이 이용에도,

이해에도 좋으므로 아래 것들은

가능한 익숙해지기!

 

# 표준정규분포에서 random sampling을 한 원소를 가지는 5x3 행렬 만들기
mat1 = np.random.randn(5, 3)

# mat1에 절대값 씌우기
np.abs(mat1)

# mat1의 square root(제곱근) 구하기
np.sqrt(mat1)

제곱근의 경우 위와 같이 입력하면

Error는 아니지만 RuntimeWarning 발생한다.

그 이유는 mat1 값들 중 음수가 있어서 루트 안에

음수가 들어가게 되는 바람에 허수 발생해서 그런데,

imagnary numbers = nan 표시라고 뜬다.

 

compl = np.array(mat1, dtype=complex)
np.sqrt(compl)

만약 이 허수를 처리하고 싶다면 위와 같이

mat1의 타입을 바꿔주면 된다.

 

# mat1 제곱하기
np.squart(mat1)

# mat1의 지수값 구하기
np.exp(mat1)

# mat의 log값(자연로그) 구하기
np.log(mat1)

그리고 log의 밑은 음수가 될 수 없기 때문에

log값 역시 음수 부분은 nan이 발생한다.

 

# 상용로그
np.log10(mat1)

# 이진로그
np.log2(mat1)

# 부호 찾기
np.sign(mat1)

# 올림
np.ceil(mat1)

# 내림
np.floor(mat1)

# 존재하지 않는 값이 있는지 없는지 확인
## nan = not a number
np.isnan(mat1)
# 활용
np.isnan(np.log(mat1))

# +-무한대 여부 확인
np.isinf(mat1)

# 삼각함수 시리즈
np.sin(mat1)
np.cos(mat1)
np.tan(mat1)
np.tanh(mat1)

# 두 행렬 대소 비교 
mat2 = np.random.randn(5, 3)
np.maximun(mat1, mat2)

 

 

Reshaping 과 Concatienation은

위에 것들 보다 좀 더 자주 쓰인다.

Reshaping array

x = np.array([[1, 2, 3],
	    [4, 5, 6],
	    [7, 8, 9]])

이런 행렬을 일일히 손으로 타이핑하지

않고 편하게 만들 수 방법이 바로 reshape이다.

x = np.arrange(1,10)

output : array([1, 2, 3, 4, 5, 6, 7, 8, 9])

# 이걸 3x3 행렬로 바꾸기 위해 reshape을 사용
x = np.arrange(1,10).reshape(3, 3)

transpose는 행과 열을 뒤집는 것을 말한다.

transpose 역시 reshape으로 가능하다.

# (1, 2, 3)을 transpose 하기
x2 = np.array([1, 2, 3]). reshape(3, 1)

row vector를 column vector로 전환.

 

 

Concatenation of arrys

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])

# arr1과 arr2를 이어 붙이는 식으로 합치고 싶다면?
np.concatenate([arr1, arr2])

좀 더 직관적인 방법도 있다.

# stacking vertically
np.vstack([arr1, arr2])

#stacking horizontally
np.hstack([arr1, arr2])

vertically는 말 그대로 수직방향으로

쌓는 거고, horizontally는 수평으로,

맨 처음과 같은 방식으로 잇는 것이다.

 


이걸 여기다 적을지,

Jupyter Notebook 글에 적을지 고민하다가

이쪽을 더 자주 볼 것 같아서 남겨놓는다.

 

주피터 노트북에서는 함수 내부 혹은

이름에 커서를 두고 shift+tab을 누르면

그 함수의 원형(틀)을 확인할 수 있다.

알아두면 두고두고 쓸 데가 많으니 기억해두자.

'Data Science > with Python(Numpy, Pandas …ect.)' 카테고리의 다른 글

Numpy performance test  (0) 2022.06.30
Numpy Array Aggregation functions  (0) 2022.06.29
Numpy Indexing+Masking  (0) 2022.06.29
Numpy Operation  (0) 2022.06.29
Numpy Array 만들기  (0) 2022.06.28