NumPy를 활용한 다차원 배열의 평탄화

반응형
    반응형

    NumPy는 파이썬에서 과학적 계산을 위한 핵심 라이브러리로, 다차원 배열을 다루는데 매우 유용합니다. 이러한 다차원 배열은 종종 복잡한 계산을 수행하는 데 필요한 데이터 구조로 사용됩니다. 그러나 다차원 배열을 단일 차원으로 변환하여 데이터를 보다 효율적으로 처리하고자 할 때가 있습니다. 이를 평탄화(flattening)라고 합니다.
    보통 머신러닝을 하게 되면 데이터를 분석하려는 머신이 단일 차원을 원하면 평탄화를 쓸 수밖에 없습니다. 평탄화를 꼭 Numpy로 해야하는 건 아니지만 데이터를 보통 numpyarray로 만들기도 하고 생각보다 아주 많이 간편합니다.

     

    평탄화 작업

    1. np.ravel() 함수를 활용한 평탄화
      NumPy는 다차원 배열을 평탄화하기 위해 np.ravel() 함수를 제공합니다. 이 함수는 다차원 배열을 1차원으로 변환하여 반환합니다.
    import numpy as np
    
    arr = np.array([[1, 2, 3], [4, 5, 6]])
    flattened_arr = np.ravel(arr)
    print(flattened_arr)

    1. ndarray.flatten() 메서드를 활용한 평탄화
      ndarray.flatten() 메서드는 np.ravel() 함수와 유사한 역할을 수행합니다. 이 메서드는 다차원 배열을 1차원으로 변환하여 반환합니다.
    import numpy as np
    
    arr = np.array([[1, 2, 3], [4, 5, 6]])
    flattened_arr = arr.flatten()
    print(flattened_arr)

    1. reshape() 메서드를 활용한 평탄화
      NumPy의 reshape() 메서드를 사용하여 다차원 배열을 원하는 형태로 변환할 수 있는데 해당 명령을 활용하여 다차원 배열을 1차원으로 평탄화할 수도 있습니다.
    import numpy as np
    
    arr = np.array([[1, 2, 3], [4, 5, 6]])
    flattened_arr = arr.reshape(-1)
    print(flattened_arr)

     

    마치며

    NumPy는 다차원 배열을 다루는 강력한 도구로서, 다양한 방법으로 배열을 평탄화할 수 있습니다. np.ravel(), ndarray.flatten(), reshape() 등의 함수와 메서드를 사용하여 다차원 배열을 1차원으로 변환할 수 있습니다. 이를 통해 데이터 처리 과정에서 다차원 배열을 보다 효율적으로 다룰 수 있고 과학적 계산이나 데이터 분석 작업에서 유용하게 활용할 수 있을겁니다.

    댓글

    Designed by JB FACTORY

    ....