Understanding Axis in Numpy

Data Scientist의 첫 걸음을 내딛기 위해 많은 노력을 기울이고 있다. 그 와중에 Numpy/Pandas의 Axis이라는 개념이 엄청 헷갈려서 몇일을 고생했다.

( I’m keep studying for a newbie data scientiest. In the path on the way, I faced a hurdle which kept bothering me for days; the concept of Axis in Numpy and Panda.)

아래는 Pandas, Numpy의 설명 자료에서 axis에 대한 부분을 발췌해서 필자가 이해한 방식으로 노트한 것을 옮겨 놓은 것이다. 아무쪼록 누군가에게 도움이 되었으면 한다.

(The following figure was drawn based on my understanding of Axis. I hope this can help someone who is struggling to grab the concept of the axis. The figure is self-descriptive, so you may not need the interpretation of the following explanation in Korean. ^^)

Axis indicates the dimension of the given data. In above 3D matrix axis = 0 means the first dimension, axis=1 means the second one, and axis=2 menas the last one.

위 그림은 3 x 2 x 2 형태의 데이터를 예를 들고 있다. 우측 위에 있는 표현이 Numpy에서 표시되는 형태이고 이를 좌측의 그림 형태로 기술할 수 있다.

Axis=0라는 건 결국 첫 번째 dimension인 (row)을 가로지는 축이라는 것이다. 여기서 헷갈리는 것이 row라고 해서 가로 축이 아니라, row을 가로지는 축을 가르킨다. 따라서. 그림에서 아래 방향으로 지정하는 것이 Axis = 0가 지정하는 방향이 된다. 따라서 이 axis을 기준으로 sum을 하게 되면 아래와 같이 표현이 된다.

Axis = 1이라는 것은 column을 가로지르는 방향을 뜻하게 된다. column을 가로지는 방향이기 때문에 sum()을 취하게 되면 Row 별로 sum()을 취하게 된다.

마지막으로 Axis=2는 dimension의 마지막 부분을 가로지는 축을 나타내게 된다. 

쉽게 이를 숙지하기 위해서 axis=0는 column단위로 연산을 수행한다고 생각하고, axis=1는 row단위로 연산한다고 생각하면 된다.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.