ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python Numpy ( 5. 배열 연결 및 분할)
    Python/Python 2020. 1. 20. 19:05
    반응형

    배열 연결 Numpy 에서는 주로 np.concatenate , np.vstack , np.hstack 루틴을 이용해 두 배열을 결합하거나 연결한다 여기서 보다시피 np.concatenate 는 튜플이나 배열의 리스트를 첫 번째 인수로 취한다. 

    #배열 연결 
    #Numpy에서는 주로 np.concatenate , np.vstack np.hstack 루틴을 이용해 두 배열을 결합하거나한다.
    
    x= np.array([1,2,3])
    y= np.array([3,2,1])
    
    np.concatenate([x,y])

    # 3개 이상도 가능하다
    z = [99,999,9999]
    print(np.concatenate([x,y,z]))

    grid = np.array([[1,2,3] ,
                    [4,5,6]])
    # 첫 번째 축을 따라 연결
    np.concatenate([grid,grid])

    # 두 번째 축을 따라 연결 (0부터 시작하는 인덱스 방식)
    np.concatenate([grid,grid], axis =1)

    혼합된 차원의 배열로 작업할 때는 np.vstack(수직 스택 , vertical stck)   np.hstack(수평스택 , horizontal stck )함수를 사용하는 것이 더 명확하다.

     

    x = np.array([1,2,3])
    grid = np.array([[9,8,7] , [6,5,4]])
    #배열을 수직 으로 쌓음 
    np.vstack([x,grid])

    #배열을 수평으로 쌓음 
    y = np.array([[99,999,9],
                [88,888,8]])
    np.hstack([grid,y])

    배열 분할하기
    분할로눈 np.split , np.hsplit , np.vsplit 함수로 구현된다 
    각 함수에 분할지점을 알려주는 인덱스 목록을 전달할 수 있다.

    x = [1,2,3,99,99,3,2,1]
    x1,x2,x3 = np.split(x,[3,5])
    print(x1,x2,x3)

    # N개의 분할점은 N+1 개의 하위 배열을 만든다 . 관련 함수인 np.hsplit 과 np.vsplit은 서로 비슷하다. 
    grid = np.arange(16).reshape((4,4))
    grid

    upper, lower = np.vsplit(grid, [2])
    print(upper)
    print(lower)

    left,right = np.hsplit(grid,[2])
    print(left)
    print(right)

    반응형

    댓글

Designed by Tistory.