Data Science/Python 기초

Python numpy: reshape(-1, n) 에서 -1은 뭘까?

희스레저 2022. 7. 23. 00:51

Regression 인강듣는 도중 나온 reshape(-1, 1)을 보고 -1이 왜 들어가는걸까? 하고 궁금해서 찾아봄

 

결론부터,

-1은 마치 n과 같이 가변적임을 나타내는 숫자이며, 뒤의 열의 숫자에 따라서 모든 원소가 누락되지 않도록 행렬을 구성해줌

 

ex)

a = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])

a.shape >> (3, 4)

 

a.reshape(-1, 12)

>> 열이 12개가 되도록 행이 1개가 됨

 

a.reshape(-1, 6) a.reshape(-1, 2) a.reshape(-1,12)
열이 6개가 되어야 하므로 2x6 행렬 구성 열이 2개가 되어야 하므로 6x2 행렬 구성 열이 12개가 되어야 하므로 1x12 행렬 구성
1  3 5 7  9  11
2 4 6 8 10 12
1  7
2 8
3 9 
4 10
5 11
6 12
1 2 3 4 5 6 7 8 9 10 11 12

 

 

 

 

*참고

https://rfriend.tistory.com/345

 

[Python NumPy] reshape에서 -1 은 무슨 의미인가? (reshape(-1, 1))

파이썬 NumPy 에서 배열의 차원(Dimension)을 재구조화, 변경하고자 할 때 reshape() 메소드를 사용합니다. 가령, 3개의 행과 4개의 열로 구성된 2차원의 배열로 재설정하고 싶으면 reshape(3, 4) 처럼 reshape(

rfriend.tistory.com