Python/Numpy

[Numpy] 최대값, 최소값 함수 np.max vs np.maximum 차이 (np.min과 np.minimum)

jimmy_AI 2021. 12. 23. 20:43
반응형

파이썬 넘파이 최대값 함수 : np.max 와 np.maximum

안녕하세요. 이번 글에서는 파이썬 넘파이에서 최대값을 가져올 때, 많이 사용되지만

혼동되는 함수인 np.max와 np.maximum에 대해서 용도 차이와 예시를 알아보겠습니다.

물론, np.min과 np.minumum도 같은 원리로 최소값을 구하는 용도이니 같이 이해가

가능할 것으로 생각됩니다.

 

Numpy 단일 array 내 최대값 함수 : np.max (혹은 np.amax)

참고로, np.amax 함수도 코드 중에 간간히 보이는데,

np.max와 np.amax는 거의 동일한 함수라고 생각하셔도 무방합니다.

 

np.max는 단일 array 내에서 최대값을 구하는 함수입니다.

가장 기본적인 형태로, array 전체에서 최대값을 구하는 경우는

np.max(array) 형태로 써주면 됩니다.(axis 인자는 기본 값인 None 입니다.)

이는 array 차원과는 관계가 없습니다.

만일 각 axis에서 최대값을 각각 가져오고 싶다면, axis 인자를 축 번호로 지정하면 됩니다.

또한, 차원 형태를 유지하고 싶다면, keepdims 인자를 True로 지정하면 됩니다.

실행 결과를 비교하면 다음과 같습니다.

axis = 1의 경우, keepdims = True 지정 시에는 2차원 벡터 형태가 유지됬으며,

열 벡터의 형태를 보존하고 있음을 확인할 수 있었습니다.

 

np.max 함수의 기능을 그림으로 요약하면 다음과 같습니다.

반응형

Numpy 여러 array 비교 최대값 함수 : np.maximum

반면, np.maximum 함수의 기능은 여러 array 사이에서 각 위치의 최대값

가져오는 함수로, 단일 array 내부에서 최대값을 가져오는 np.max 함수와는

사용 용도가 전혀 다릅니다.

 

따라서, np.maximum 함수는 여러 array를 동시에 input으로 받습니다.

이 때, input으로 받는 array들의 차원은 모두 같아야합니다.

np.maximum 함수의 사용 예제 코드를 살펴보겠습니다.

실행 결과, 각 위치에서의 값들을 비교하여 위치별로 최대 값을 반환한

결과를 살펴볼 수 있었습니다.

 

원리를 그림으로 쉽게 이해하면 아래 그림처럼 나타낼 수 있습니다.

물론, 3개 이상의 array를 input으로 받는 경우에도 마찬가지로 사용이 가능합니다.

 

 

파이썬 넘파이 최소값 함수 : np.min, np.minimum

최대값 함수가 있다면, 최소값 함수도 있을 것입니다.

np.min과 np.minimum 함수가 이 기능들을 담당하는데요, 함수의 사용법은

최대값 함수들과 동일하므로, 추가 설명은 생략하도록 하겠습니다.

 

또한, np.max나 np.maximum에서 지원하는 인자의 종류는 실제로는 매우 다양하므로, 

추가적인 기능이 궁금하신분들은 공식 document를 참고하시면 좋을 듯 합니다.

여기서는 두 함수의 기능적 차이의 핵심적인 부분만 다루는 것으로 글을 마치겠습니다.