복붙노트

[PYTHON] NumPy의 축 매개 변수는 어떻게 작동합니까?

PYTHON

NumPy의 축 매개 변수는 어떻게 작동합니까?

누군가 NumPy의 축 매개 변수가 정확히 무엇을 설명 할 수 있습니까?

나는 몹시 혼란 스럽다.

myArray.sum (axis = num) 함수를 사용하려고합니다.

처음에는 배열 자체가 3 차원 인 경우 axis = 0은 동일한 위치에있는 중첩 항목의 합계로 구성된 세 요소를 반환합니다. 각 차원에 5 개의 차원이 포함 된 경우 5 개 항목의 결과를 반환하는 등 축 1을 기대합니다.

그러나 이것이 사실이 아니며 문서가 나를 돕는 훌륭한 일을하지 못합니다 (그들은 3x3x3 배열을 사용하므로 어떤 일이 발생했는지 알기가 어렵습니다)

여기 내가 한 일이있다.

>>> e
array([[[1, 0],
        [0, 0]],

       [[1, 1],
        [1, 0]],

       [[1, 0],
        [0, 1]]])
>>> e.sum(axis = 0)
array([[3, 1],
       [1, 1]])
>>> e.sum(axis=1)
array([[1, 0],
       [2, 1],
       [1, 1]])
>>> e.sum(axis=2)
array([[1, 0],
       [2, 1],
       [1, 1]])
>>>

분명 결과는 직관적이지 않습니다.

해결법

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

    1.분명히,

    분명히,

    e.shape == (3, 2, 2)
    

    축에 대한 합은 축약 작업이므로 지정된 축이 사라집니다. 금후,

    e.sum(axis=0).shape == (2, 2)
    e.sum(axis=1).shape == (3, 2)
    e.sum(axis=2).shape == (3, 2)
    
  2. ==============================

    2.직관적으로 축을 이해하려면 아래 그림을 참조하십시오 (출처 : Physics Dept, Cornell Uni)

    직관적으로 축을 이해하려면 아래 그림을 참조하십시오 (출처 : Physics Dept, Cornell Uni)

    위의 그림에서 (부울) 배열의 모양은 shape = (8, 3)입니다. ndarray.shape는 항목이 특정 차원의 길이에 해당하는 튜플을 반환합니다. 예제에서 8은 0 축의 길이에 해당하는 반면 3은 1 축의 길이에 해당합니다.

  3. ==============================

    3.누군가이 시각적 묘사가 필요한 경우 :

    누군가이 시각적 묘사가 필요한 경우 :

  4. from https://stackoverflow.com/questions/22320534/how-does-the-axis-parameter-from-numpy-work by cc-by-sa and MIT license