배열에 원소 추가 및 삭제

1차원 함수

arr = [1, 2, 3, 4, 5, 6, 7, 8]
arr.insert(2, 50)
print(arr)
[1, 2, 50, 3, 4, 5, 6, 7, 8]

arr = np.arange(1,9)
arr = np.insert(arr, 2, 50)
print(arr)
[1, 2, 50, 3, 4, 5, 6, 7, 8]

2차원 함수 - axis 값 기준으로 원소 삽입 가능

arr = np.arange(1, 13).reshape(3,4)
arr = np.insert(arr,2,50, axis=0)
print(arr)
[[ 1  2  3  4]
 [ 5  6  7  8]
 [50 50 50 50]
 [ 9 10 11 12]]

arr = np.insert(arr,2,50, axis=1)
print(arr)
[[ 1  2 50  3  4]
 [ 5  6 50  7  8]
 [ 9 10 50 11 12]]

arr = np.arange(1, 13).reshape(3,4)
print(arr)
[[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]]

arr = np.delete(arr,2,axis=0)
print(arr)
[[1 2 3 4]
 [5 6 7 8]]

arr = np.delete(arr,2,axis=1)
print(arr)
[[ 1  2  4]
 [ 5  6  8]
 [ 9 10 12]]

arr = np.delete(arr,2)
print(arr)
[ 1  2  4  5  6  7  8  9 10 11 12]

배열 간의 병합

arr1 = np.arange(1, 13).reshape(3,4)
arr2 = np.arange(13, 25).reshape(3,4)

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]

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]]

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]]