numpy——flatten(), squeeze(), ravel()

python做数据操作时经常要将多维数组转换成一维数组,常用函数包括flatten(), squeeze(), ravel(), reshape()等。

reshape(a, shape): 将多维数组转换到新的尺寸,当参数填-1时,将其拉平成一维向量

squeeze(a, axis=None): 将多维数组中尺寸等于1的维度删除,axis为空则删除所有单维度的条目。

flatten和ravel使用的区别是前者返回一份拷贝,对其做修改不影响原始矩阵,后者返回的是视图,对其做修改会影响原始矩阵。

flatten(order='C')返回的是拷贝:

可选参数,order:{‘C’,‘F’,‘A’,‘K’}

  • ‘C’:C-style,行序优先
  • ‘F’:Fortran-style,列序优先
  • ‘A’:if a is Fortran contiguous in memory ,flatten in column_major order
  • ‘K’:按照元素在内存出现的顺序进行排序
    默认为’C’

ravel(order='C')返回的是视图:

猜你喜欢

转载自blog.csdn.net/neil3611244/article/details/81474812