▪︎ 배열의 형태 변형과 차원 확장/축소
▫︎ array.ravel()
- 다차원 배열을 1 차원 배열로 펼침
- 결과를 View로 반환 (View를 변경시 원본도 변경)
a = np.array([[1,2,3], [4,5,6]])
print(a)
# [[1 2 3]
# [4 5 6]]
flat = a.ravel()
print(flat)
# [1 2 3 4 5 6]
flat[2] = 100
print(flat)
# [ 1 2 100 4 5 6]
print(a)
# [[ 1 2 100]
# [ 4 5 6]]
▫︎ array.flatten()
- 다차원 배열을 1 차원 배열로 펼침
- 결과를 복사본으로 반환 (복사본 변경시 원본은 변경되지 않음)
a = np.array([[1,2], [3,4], [5,6], [7,8]])
print(a)
# [[1 2]
# [3 4]
# [5 6]
# [7 8]]
flat = a.flatten()
print(flat)
# [1 2 3 4 5 6 7 8]
flat[4] = 0
print(flat)
# [1 2 3 4 0 6 7 8]
print(a)
# [[1 2]
# [3 4]
# [5 6]
# [7 8]]
▫︎ np.expand_dims(a, axis)
- 지정한 위치에 차원 추가 (차원 확장)
- 추가되는 차원은 1 차원
- axis=0
a0 = np.expand_dims(a, axis=0)
print(a0.shape)
# (1, 2, 3)
print(a0)
# [[[1 2 3]
# [4 5 6]]]
a1 = np.expand_dims(a, axis=1)
print(a1.shape)
# (2, 1, 3)
print(a1)
# [[[1 2 3]]
#
# [[4 5 6]]]
a2 = np.expand_dims(a, axis=2)
print(a2.shape)
# (2, 3, 1)
print(a2)
# [[[1]
# [2]
# [3]]
#
# [[4]
# [5]
# [6]]]