본문 바로가기
파이썬

파이썬 넘파이 그리고 차원, reshape

by 오징어땅콩2 2021. 7. 26.
반응형
>>> print(a)
[1, 2, 3, 4]

>>> print(x)
[[1 2 3 4]]

>>> print(b)
[[1]
 [2]
 [3]
 [4]]
 
>>> print(y)
[[1 2 3 4]]

 

일반적인 C언어와 비슷하게 배열과 list의 형태는 비슷하다고 생각 한다.

그냥 1차원의 형태다.

 

배열에서 확장하다 보면 2차원, 3차원으로 확장된다. 그러나 리스트는 아니다. 그냥 1차원 배열이다.

파이썬에서는 넘파이를 통해서 2, 3차 배열을 표현하고 형태도 바꾸게 된다.

본인도 많이 헷갈리는 부분이다.

 

리스트의 형태를 2차원 배열로

a = [1, 2, 3, 4]

x= np.reshape(a , [1, 4] )

x= np.reshape(a , [1, -1] )

x= np.reshape(a , [-1, 4] )

[[1 2 3 4]]

 

4, 1의 2차원 배열을 1,4의 2차원 배열로 변경하기 위해서

b = [[1]
 [2]
 [3]
 [4]]

 

아래 두개는 같은 표현이다.

y = np.reshpae(b, [1, 4] )

y = np.reshpae(b, [-1, 4] )

y = np.reshape(b, [1,-1])

 

데이터 개수가 정해져 있을때는 정확한 표현을 해도 되고, 축약한 형태로 표현해도 가능하다.

실제 원본의 데이터 형태는 중요하지 않다.

 

댓글