본문 바로가기
Programming (프로그래밍)/Python

[NumPy] NumPy 배열의 모양 변경하기 (Reshaping)

by 김조이1 2025. 1. 28.
728x90

NumPy 배열을 원하는 형태로 변경하는 방법

NumPy에서는 배열의 모양을 쉽게 변경할 수 있다. reshape() 메서드를 사용하면 1D 배열을 2D, 3D 배열 등 원하는 차원으로 변형할 수 있다. 이 방법을 사용하면 데이터를 보다 효율적으로 다룰 수 있다.

 

import numpy as np

# 1D 배열 생성
arr = np.arange(0, 10)

# 2x5 형태로 변환
reshaped_array = arr.reshape((2, 5))
print(reshaped_array)

"""
[[0 1 2 3 4]
 [5 6 7 8 9]]

"""

 

이 예제에서:

  • 먼저 10개의 요소를 가진 1D 배열을 생성한다.
  • 그 배열을 2x5 형태의 2D 배열로 변형한다. 즉, 2개의 행과 5개의 열을 가진 배열로 변경된다.

중요한 점: 변형 후 배열의 원소 개수는 변형 전 배열과 동일해야 한다. 예를 들어, 원본 배열이 10개의 요소를 가지고 있으면, 이를 2x5 또는 5x2와 같은 형태로 변경할 수 있다.

추가적인 Reshaping 팁:

  • 다차원 배열을 1D로 변형하려면 .reshape(-1)을 사용할 수 있다.
  • 차원 중 하나에 -1을 넣으면, NumPy가 자동으로 나머지 차원의 크기를 계산해준다.
반응형