[Numpy] 행렬 재배열(Reshape), 이어붙이기(Concatenate), 나누기(Split)
2021. 7. 3. 00:44
1. 재배열(Reshape)
- array.reshape(row, col)
print(">>Reshape<<")
array = np.arange(10)
print("original Array Shape : ", array.shape)
reshapeArray = array.reshape(2,5)
print("Reshape Array Shape : ", reshapeArray.shape)
print("Reshape Array : \n", reshapeArray, "\n")
reshapeArray = array.reshape(5,2)
print("Reshape Array Shape : ", reshapeArray.shape)
print("Reshape Array : \n", reshapeArray, "\n")
2. 이어붙이기(Concatenate)
- np.concatenate([array1, array2], axis=축방향)
이때 axis(축방향)는 가로축(X 방향)은 0, 세로축(Y 방향)은 1
print(">>이어붙이기(concatenate)<<")
array1 = np.arange(3)
array2 = np.arange(5)
print("1st Array : ", array1, "\n2nd Array : ", array2)
concatArray = np.concatenate([array1, array2])
print("Concatenated Array : ", concatArray, "\n")
# 2*2 행렬은 이어붙이는 축의 방향을 결정 할 수 있음
array3 = np.arange(4).reshape(2,2)
print("2x2 Array : \n", array3)
# axis=0 : 가로축 방향
concatArrayAxisX = np.concatenate([array3, array3], axis=0)
print("Concatenated 2x2 Array with Axis X : \n", concatArrayAxisX)
# axis=1 : 세로축 방향
concatArrayAxisY = np.concatenate([array3, array3], axis=1)
print("Concatenated 2x2 Array with Axis Y : \n", concatArrayAxisY)
3. 나누기(Split)
- np.split(array, [기준이 될 행 또는 열], axis=축방향)
이때 axis(축방향)는 가로축(X 방향)은 0, 세로축(Y 방향)은 1
print(">>나누기(split)<<")
# np.split(나눌 행렬, 기준이 되는 행 혹은 열, axis=축의 방향)
array1 = np.arange(6)
upperArray1, lowerArray1 = np.split(array1, [2])
print("Original Array : ", array1)
print("Split Upper Array in Column 2: ", upperArray1)
print("Split Lower Array in Column 2 : ", lowerArray1, "\n")
array2 = np.arange(9).reshape(3,3)
upperArray2, lowerArray2 = np.split(array2, [1], axis=0)
print("Original Array : \n", array2)
print("Split Upper 3x3 Array in Row 1 with axis X : \n", upperArray2)
print("Split Lower 3x3 Array in Row 1 with axis X: \n", lowerArray2, "\n")
upperArray2, lowerArray2 = np.split(array2, [1], axis=1)
print("Original Array : \n", array2)
print("Split Upper 3x3 Array in Column 1 with axis Y : \n", upperArray2)
print("Split Lower 3x3 Array in Column 1 with axis Y: \n", lowerArray2)
내가 공부하려고 작성하는 포스트
'Data Analysis | Engineering > Python' 카테고리의 다른 글
[Numpy] 배열의 정보(자료형, 차원, 모양, 크기, 요소) 확인하기 (0) | 2021.06.04 |
---|---|
[Numpy] 배열 만들기 (np.arange/np.random) (0) | 2021.05.26 |