Python/Numpy
[Numpy] 배열 병합
권멋져
2022. 7. 14. 18:54
append
append 함수는 두 배열을 병합하여 한 개의 배열로 반환하는 함수다.
병합 방향은 axis 옵션으로 결정할 수 있다.
axis 옵션을 설정하지 않으면 1차원 배열로 병합된 결과를 반환한다.
arr1 = np.arange(1,13).reshape(3,4)
arr2 = np.arange(13,25).reshape(3,4)
print(arr1)
'''
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]]
'''
print(arr2)
'''
[[13 14 15 16]
[17 18 19 20]
[21 22 23 24]]
'''
arr3 = np.append(arr1,arr2,axis = 0)
print(arr3)
'''
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]
[13 14 15 16]
[17 18 19 20]
[21 22 23 24]]
'''
arr3 = np.append(arr1,arr2,axis = 1)
print(arr3)
'''
[[ 1 2 3 4 13 14 15 16]
[ 5 6 7 8 17 18 19 20]
[ 9 10 11 12 21 22 23 24]]
'''
arr3 = np.append(arr1,arr2)
print(arr3)
# [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24]
vstack, hstack
vstack 함수는 행을 추가하고, hstack 함수는 열을 추가하는 함수다.
# vstack, hstack
arr1 = np.arange(1,7).reshape(2,3)
arr2 = np.arange(7,13).reshape(2,3)
arr3 = np.vstack((arr1,arr2))
print(arr3)
'''
[[ 1 2 3]
[ 4 5 6]
[ 7 8 9]
[10 11 12]]
'''
arr3 = np.hstack((arr1,arr2))
print(arr3)
'''
[[ 1 2 3 7 8 9]
[ 4 5 6 10 11 12]]
'''
concatenate
concatenate 함수는 append 함수와 같은 결과지만 용법이 다르다.
arr1 = np.arange(1,7).reshape(2,3)
arr2 = np.arange(7,13).reshape(2,3)
arr3 = np.concatenate([arr1,arr2],axis=0)
print(arr3)
'''
[[ 1 2 3]
[ 4 5 6]
[ 7 8 9]
[10 11 12]]
'''
arr3 = np.concatenate([arr1,arr2],axis=1)
print(arr3)
'''
[[ 1 2 3 7 8 9]
[ 4 5 6 10 11 12]]
'''