[파이썬][Scipy] 배열 합치기 예제

배열을 합치는 작업은 데이터 처리에서 매우 일반적입니다. NumPy와 Scipy에서 배열을 합치기 위한 몇 가지 예제를 제공합니다.

  1. 배열 연결 (Concatenation):

    numpy.concatenate 함수를 사용하여 배열을 연결할 수 있습니다. 여러 배열을 연결하려면 해당 배열들을 튜플로 전달합니다.

import numpy as np
    
    # 두 배열 생성
    arr1 = np.array([1, 2, 3])
    arr2 = np.array([4, 5, 6])
    
    # 배열 연결 (수직으로 연결)
    combined_arr = np.concatenate((arr1, arr2))
    
    print("첫 번째 배열:")
    print(arr1)
    print("두 번째 배열:")
    print(arr2)
    print("연결된 배열:")
    print(combined_arr)
  1. 배열 스택 (Stacking):

    numpy.stack 함수를 사용하여 배열을 쌓아 새로운 배열을 생성할 수 있습니다. 축 (axis)을 지정하여 수직 및 수평 스택을 수행할 수 있습니다.

import numpy as np
    
    # 두 배열 생성
    arr1 = np.array([1, 2, 3])
    arr2 = np.array([4, 5, 6])
    
    # 배열 수직 스택
    vertical_stack = np.vstack((arr1, arr2))
    
    # 배열 수평 스택
    horizontal_stack = np.hstack((arr1, arr2))
    
    print("첫 번째 배열:")
    print(arr1)
    print("두 번째 배열:")
    print(arr2)
    print("수직 스택:")
    print(vertical_stack)
    print("수평 스택:")
    print(horizontal_stack)
  1. 배열 분할 (Splitting):

    배열을 분할하여 여러 하위 배열로 나눌 수 있습니다. 이것은 합치기의 반대 작업입니다.

import numpy as np
    
    # 배열 생성
    arr = np.array([1, 2, 3, 4, 5, 6])
    
    # 배열을 3개의 하위 배열로 분할
    split_arr = np.split(arr, 3)
    
    print("원래 배열:")
    print(arr)
    print("분할된 배열:")
    for sub_arr in split_arr:
        print(sub_arr)
  1. 배열 쌓기 (Tile):

    numpy.tile 함수를 사용하여 배열을 반복하여 쌓을 수 있습니다.

import numpy as np
    
    # 배열 생성
    arr = np.array([1, 2, 3])
    
    # 배열을 3번 반복하여 쌓기
    stacked_arr = np.tile(arr, 3)
    
    print("원래 배열:")
    print(arr)
    print("반복하여 쌓인 배열:")
    print(stacked_arr)

이러한 배열 합치기 예제를 사용하여 데이터를 원하는 방식으로 조합하고 구조화할 수 있습니다. NumPy의 배열 조작 함수와 메서드는 데이터 처리 작업을 간편하게 만듭니다.