복붙노트

[PYTHON] numpy 최대 대 amax 최대

PYTHON

numpy 최대 대 amax 최대

numpy는 동일한 일을 할 수있는 것처럼 보이는 세 가지 다른 함수를 가지고 있습니다 - numpy.maximum은 요소별로 만 사용할 수있는 반면 numpy.max와 numpy.amax는 특정 축 또는 모든 요소에서 사용할 수 있습니다 . 왜 numpy.max 이상입니까? 성능면에서 약간의 미묘함이 있습니까?

(min 대 amin 대 minimum와 유사하게)

해결법

  1. ==============================

    1.np.max는 np.amax의 별명입니다. 이 함수는 단일 입력 배열에서만 작동하며 전체 배열에서 최대 요소 값을 찾습니다 (스칼라 반환). 또는 축 인수를 사용하고 입력 배열 축을 따라 최대 값을 찾습니다 (새 배열 반환).

    np.max는 np.amax의 별명입니다. 이 함수는 단일 입력 배열에서만 작동하며 전체 배열에서 최대 요소 값을 찾습니다 (스칼라 반환). 또는 축 인수를 사용하고 입력 배열 축을 따라 최대 값을 찾습니다 (새 배열 반환).

    >>> a = np.array([[0, 1, 6],
                      [2, 4, 1]])
    >>> np.max(a)
    6
    >>> np.max(a, axis=0) # max of each column
    array([2, 4, 6])
    

    np.maximum의 기본 동작은 두 개의 배열을 취하여 요소 별 최대 값을 계산하는 것입니다. 여기서 '호환'은 한 배열을 다른 배열에 브로드 캐스팅 할 수 있음을 의미합니다. 예 :

    >>> b = np.array([3, 6, 1])
    >>> c = np.array([4, 2, 9])
    >>> np.maximum(b, c)
    array([4, 6, 9])
    

    그러나 np.maximum은 보편적 인 함수이기도합니다. 즉, 다차원 배열로 작업 할 때 유용하게 사용되는 다른 기능과 메서드가 있다는 의미입니다. 예를 들어 배열 (또는 배열의 특정 축)에 대한 누적 최대 값을 계산할 수 있습니다.

    >>> d = np.array([2, 0, 3, -4, -2, 7, 9])
    >>> np.maximum.accumulate(d)
    array([2, 2, 3, 3, 3, 7, 9])
    

    이것은 np.max에서는 가능하지 않습니다.

    np.maximum.reduce를 사용할 때 np.maximum이 np.max를 어느 정도 모방하게 만들 수 있습니다.

    >>> np.maximum.reduce(d)
    9
    >>> np.max(d)
    9
    

    기본 테스트는 두 가지 접근 방식이 성능면에서 비슷하다는 것을 보여줍니다.

  2. ==============================

    2.np.maximum이 다른 이유는 이미 말씀 드린 것입니다. 두 배열 사이의 요소 최대 값 인 배열을 반환합니다.

    np.maximum이 다른 이유는 이미 말씀 드린 것입니다. 두 배열 사이의 요소 최대 값 인 배열을 반환합니다.

    np.amax와 np.max는 둘 다 같은 함수를 호출합니다. np.max는 np.amax의 별칭 일 뿐이며 배열의 모든 요소 또는 배열의 축을 따라 최대 값을 계산합니다.

    In [1]: import numpy as np
    
    In [2]: np.amax
    Out[2]: <function numpy.core.fromnumeric.amax>
    
    In [3]: np.max
    Out[3]: <function numpy.core.fromnumeric.amax>
    
  3. from https://stackoverflow.com/questions/33569668/numpy-max-vs-amax-vs-maximum by cc-by-sa and MIT license