numpy 中的reshape,flatten,ravel 数据平展,多维数组变成一维数组
import numpy as np
使用array对象
arr1=np.arange(12).reshape(3,4)
print(arr1)
print(type(arr1))
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
flatten 展平
a=arr1.flatten()
# 默认参数order=C,按照行进行展平;order=F,按照列进行展平,交叉展平;
#A 或K参数用的不多,顾不变多记,到时候找到会用即可
a[2]=1000
print(arr1) # arr1 并没有改变,flatten 返回的是copy
a
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
array([ 0, 1, 1000, 3, 4, 5, 6, 7, 8, 9, 10,
11])
reshape 变换
arr1=np.arange(12).reshape(3,4)
b=arr1.reshape(-1) # b=arr1.reshape((-1)) 等同的效果意义 ,
b[2]=1000
print(arr1)# 返回的是视图view
[[ 0 1 1000 3]
[ 4 5 6 7]
[ 8 9 10 11]]
ravel 变换