# 重塑数组形状
import numpy as np
# 维度中的-1表示自动推断的意思
a = np.array([[1,2,3],
[4,5,6]])
print('将二维数组转成一维数组', a.ravel())
# 输出 将二维数组转成一维数组 [1 2 3 4 5 6]
print('改变二维数组形状:2*3 -> 3*2 \n', a.reshape((3,2)))
# 输出
# 改变二维数组形状:2*3 -> 3*2
# [[1 2]
# [3 4]
# [5 6]]
print('将二维数组转成列向量:\n', a.reshape((-1,1)))
# 输出
# 将二维数组转成列向量:
# [[1]
# [2]
# [3]
# [4]
# [5]
# [6]]
1.Numpy中扁平化函数ravel(),flatten()两者的功能是一致的,将多维数组降为一维,np.flatten(0返回一份拷贝,对拷贝所做修改不会影响原始矩阵,而np.ravel()返回的是视图,修改时会影响原始矩阵
2.reshape()函数,为重塑函数,函数的功能是改变数组或矩阵的形状,像上面的代码中,将(2,3)—>(3, 2)