파이썬(Python)/numpy

[Python] Numpy axe 값이란? 행/열에 따라 합치기

끄적끄적아무거나 2022. 3. 14. 18:17
반응형

 

목차

     

     

     

     

     

    Numpy Axes 의 의미, 사용 방법

     

     

    위 그림은 2차원 그래프의 x축과 y축을 표현한 도면입니다. 그래프 안의 모든 점은 x, y 축(axe) 값에 의해 위치가 결정 됩니다. 

    넘파이 Axes 도 결국 위 개념을 적용한 것입니다. x 축이 행(Row)이고 y 축이 열(Column) 값입니다. 

     

    주의할 점은 1차원 리스트(List)와 2차원 배열(Matrix)에서 axis 값을 다르게 사용해야 합니다. 

     

    1차원에서는 아래와 같이 axis 0이 x축이고 y값이 없습니다.

     

    • axis0 = 열(Column)

     

     

    2차원에서는 아래와 같이 행과 열의 위치를 정합니다.

     

    • axis0 = 행(Row)
    • axis1 = 열(Coulmn)

     

     

    다음으로 주의해야할 점은 행렬의 크기 값이 일치해야 인식하고 함수가 진행됩니다. 만일 한줄 씩만 행과 열에 값을 추가 하고 싶을 경우 아래 링크를 참조 하시길 바랍니다. 

    https://scribblinganything.tistory.com/485

     

    [Python] Numpy 행렬 array에 열(Column), 행(Row) 추가하기

    목차 파이썬 Numpy Array Matrix에 행 값 리스트(List) 추가하기 넘파이로 배열(Matrix)을 만들고 추가 행을 붙이는 방법에 대해서 알아 보겠습니다. 행(Row)을 붙이는 함수는 아래와 같습니다. np.r_(원본

    scribblinganything.tistory.com

     

     

     

    Numpy Axes 사용하여 행 렬 합치기(Concatenate) 예제

     

    Numpy에서 제공하는 Concatenate 함수를 사용해서 행과 열을 합치기를 진행해 보겠습니다.

     

    예제 코드 axis=0>>

    import numpy as np
    
    np_array = np.arange(0, 12).reshape(3,4)
    np_add = np.arange(12, 24).reshape(3,4)
    
    print("Origial Numpy Array")
    print(np_array)
    
    np_array1 = np.concatenate([np_array, np_add], axis = 0)
    
    print("Origial Numpy Array + Row")
    print(np_array1)

     

    3~4번 라인: reshape를 사용해서 0~11, 12~23의 숫자로 3x4 행렬을 만듭니다. reshape에 대한 내용은 괄호 링크를 참조 하시면 됩니다. (https://scribblinganything.tistory.com/484)

    9번 라인: concatenate 함수를 사용해서 행렬을 추가하고 6x4 행렬로 만듭니다.

     

     

    결과>>

    Origial Numpy Array
    [[ 0  1  2  3]
     [ 4  5  6  7]
     [ 8  9 10 11]]
    Origial Numpy Array + Row
    [[ 0  1  2  3]
     [ 4  5  6  7]
     [ 8  9 10 11]
     [12 13 14 15]
     [16 17 18 19]
     [20 21 22 23]]

     

     

     

     

    예제 코드 axis=1>>

     

    이번 코드는 위와 동일하지만 열에 행렬을 붙이는 형태 입니다.

    import numpy as np
    
    np_array = np.arange(0, 12).reshape(3,4)
    np_add = np.arange(12, 24).reshape(3,4)
    
    print("Origial Numpy Array")
    print(np_array)
    
    np_array2 = np.concatenate([np_array, np_add], axis = 1)
    
    print("Origial Numpy Array + Column")
    print(np_array2)

     

    결과>>

    Origial Numpy Array
    [[ 0  1  2  3]
     [ 4  5  6  7]
     [ 8  9 10 11]]
    Origial Numpy Array + Column
    [[ 0  1  2  3 12 13 14 15]
     [ 4  5  6  7 16 17 18 19]
     [ 8  9 10 11 20 21 22 23]]

     

     

    반응형