본문으로 바로가기

파이썬 정리 : NumPy (2)

category AI/딥러닝 기초 2019. 10. 11. 17:58
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

 

 

[축(axis)]

 

축은 axis = 0, axis =1, axis = 2 이런식으로 인덱스로 명명.

순서대로 행렬의 차원이라고 생각하면 된다.

 

예를 들어,

이차원배열 2 * 3 배열은 아래와 같이 생겼다. 행렬의 차원이라고 생각하면

세로방향(2) 가 axis = 0, 가로방향(3)이 axis = 1이 된다.

삼차원배열은 깊이 * 세로 * 가로 이기 때문에 깊이가 axis =0, 세로는 axis = 1, 가로는 axis = 2가 된다.

 

 

 

[Transpose]

행렬 전치 메서드  transpose를 이용하여 축을 바꿀 수 있다.

간단하게는 아래와 같이 사용도 가능하다.

a = np.array([[1,2,3], [4,5,6]])
print(a)
print(a.T)

 

transpose(1,2,0)을 실행하면..

axis = 0 -> axis = 1

axis = 1 -> axis = 2

axis = 2 -> axis = 3 

가 된다.

 

 

 

[sum 함수]

np.sum(배열, (축))

a = np.array([[1,2,3], [4,5,6]])
print(a)
print(np.sum(a, axis=0))
print(np.sum(a, axis=1))

가로축으로 더했을 때 [[6] [15]] 의 형태로 차원이 유지된 채의 결과를 얻고 싶다면

keepdims = True 인수를 설정해준다.

print(np.sum(a, axis=1, keepdims=True))

 

 

 

[where 함수]

np.where(조건, 조건을 만족할 때, 조건을 만족하지 않을 때)

a = np.array([[1,2,3], [4,5,6]])
print(a)

print(np.where(a%2 == 0, 0, a))

a의 원소 값이 짝수이면 0으로 바꿔줬다.