▪︎ 배열의 형태 변형과 차원 확장/축소

▫︎ array.ravel()

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()

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)

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