What I study/Python_details

[Python Numpy] np.concatenate()와 np.column_stack()의 차이점

데송 2022. 12. 6. 22:47

1차원 배열

import numpy as np

a = np.ones(5)
b = np.zeros(5)
print(a)
print(b)

[1. 1. 1. 1. 1.] [0. 0. 0. 0. 0.]

 

np.concatenate()

concatenate_ab = np.concatenate((a,b), axis = 0)
print(concatenate_ab)

[1. 1. 1. 1. 1. 0. 0. 0. 0. 0.]

 

1차원 배열에서 np.concatenate 조건을 axis = 1 로 지정하면

 

AxisError: axis 1 is out of bounds for array of dimension 1

오류가 생긴다

 

np.column_stack()

column_stack_ab = np.column_stack((a,b))
print(column_stack_ab)

[[1. 0.]

[1. 0.]

[1. 0.]

[1. 0.]

[1. 0.]]

 

 

2차원 배열

c = np.array([[1,2,3],[10,20,30]])
d = np.array([[4,5,6],[40,50,60]])
print(c)
print(d)

 

[[ 1 2 3]

[10 20 30]]

[[ 4 5 6]

[40 50 60]]

 

np.concatenate()

 

concatenate_cd = np.concatenate((c,d), axis = 0)
print(concatenate_cd)

 

[[ 1 2 3]

[10 20 30]

[ 4 5 6]

[40 50 60]]

 

concatenate_cd = np.concatenate((c,d), axis = 1)
print(concatenate_cd)

 

[[ 1 2 3 4 5 6]

[10 20 30 40 50 60]]

 

np.column_stack()

 

column_stack_cd = np.column_stack((c,d))
print(column_stack_cd)

 

[[ 1 2 3 4 5 6]

[10 20 30 40 50 60]]

 

2차원 배열에서 np.concatenate(axis=1)과 np.column_stack의 결과는 같다