重塑:更改数组的形状,即转换数组的维度。
转置:重塑的一种特殊形式,将数组的行,转换为列,例:三行四列改为四行三列。
注:无论是数组的重塑还是转置,操作前后数组元素个数不会发生改变。
1.重塑---reshape() 一维变多维
import numpy as np
arr = np.array([1,2,3,4,5,6,7,8])
a = arr.reshape(2,4)
b = arr.reshape(4,2)
print(a)
print(b)
注:重塑时新数组的形状应该与原数组形状兼容,即可以整除分配,不能导致元素个数发生变化,否则会报错。
例如将上个代码输出为3行2列
多维转多维与上面代码相同
2.多维转一维 flatten()和ravel()
import numpy as np
arr = np.array([[1,2,3],[4,5,6],[7,8,9]])
print(arr.flatten())
print(arr,ravel())
3.转置 T属性和transpose()
3.1 T属性
import numpy as np
arr = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])
print(arr)
print(arr.T)
3.2 transpose()函数
import numpy as np
arr = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])
arr1 = np.transpose(arr)
print(arr1)
两者结果相同。