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차원으로 변환할 수 있습니다. 이를 통해 데이터 처리 과정에서 다차원 배열을 보다 효율적으로 다룰 수 있고 과학적 계산이나 데이터 분석 작업에서 유용하게 활용할 수 있을겁니다.

    'Python > Numpy' 카테고리의 다른 글

    [파이썬] 절대값 출력하기  (2) 2024.03.07
    [Numpy] 배열(array) 합치기(np.concatenate)  (0) 2022.01.05
    [Numpy] 배열 분할하기(np.split)  (0) 2022.01.03
    [Numpy] 분포함수(distribution)  (0) 2021.11.20
    [numpy] np.linalg  (0) 2021.11.06

    댓글

    Designed by JB FACTORY

    ....