NumPy를 활용한 다차원 배열의 평탄화
- Python/Numpy
- 2023. 6. 22.
반응형
반응형
NumPy는 파이썬에서 과학적 계산을 위한 핵심 라이브러리로, 다차원 배열을 다루는데 매우 유용합니다. 이러한 다차원 배열은 종종 복잡한 계산을 수행하는 데 필요한 데이터 구조로 사용됩니다. 그러나 다차원 배열을 단일 차원으로 변환하여 데이터를 보다 효율적으로 처리하고자 할 때가 있습니다. 이를 평탄화(flattening)라고 합니다.
보통 머신러닝을 하게 되면 데이터를 분석하려는 머신이 단일 차원을 원하면 평탄화를 쓸 수밖에 없습니다. 평탄화를 꼭 Numpy로 해야하는 건 아니지만 데이터를 보통 numpyarray로 만들기도 하고 생각보다 아주 많이 간편합니다.
평탄화 작업
- 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)
- 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)
- 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' 카테고리의 다른 글
[파이썬] Numpy 차원의 이해 (7) | 2024.09.25 |
---|---|
[파이썬] 절대값 출력하기 (0) | 2024.03.07 |
[Numpy] 배열(array) 합치기(np.concatenate) (0) | 2022.01.05 |
[Numpy] 배열 분할하기(np.split) (0) | 2022.01.03 |
[Numpy] 분포함수(distribution) (0) | 2021.11.20 |