np.concatenate 함수 axis = 1 일 때, 출력형태 관련 질문입니다.
조회수 5076회
gird = np.array([[1, 2, 3], [4, 5, 6]]) 라는 2행 3열의 배열이 있을 때
np.concatenate([gird, grid], axis=1)을 하게 되면 왜 그 결과가
array([[1, 2, 3, 1, 2, 3], [4, 5, 6, 4, 5, 6]]) 와 같이 되는건가요?
제 생각에는 array([[1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 5, 6]]) 과 같이 되어야 할 것 같아서요
1 답변
-
concatenate
는 numpy document에 따르면 다음과 같은 일을합니다.Join a sequence of arrays along an existing axis.
(해석) axis를 따라 각 배열을 join 합니다.
따라서
따라서
np.concatenate([grid, grid], axis=1)
는 axis = 1을 기준으로, sequence를 join합니다. 그림으로 표현하면 다음과 같습니다.
array([[1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 5, 6]])
를 만들고 싶다면 join이 아니라 stack 등을 쓰셔야할 것 같아요.flatten_grid = grid.flatten() np.array([flatten_grid, flatten_grid]) np.stack((flatten_grid, flatten_grid))
- 엄청 예전질문인데 답변달아주셔서 감사합니다 CaptivatingYourMind 2019.1.17 19:10
- 엄청 예전질문인데 답변달아주셔서 감사합니다 CaptivatingYourMind 2019.1.17 19:10
- 엄청 예전질문인데 답변달아주셔서 감사합니다 CaptivatingYourMind 2019.1.17 19:10
- 엄청 예전질문인데 답변달아주셔서 감사합니다 CaptivatingYourMind 2019.1.17 19:10
댓글 입력