改变numpy数组形状的7种常用方法

本文大纲

      • 方法一:shape
      • 方法二:reshape
      • 方法三:reval
      • 方法四:flatten
      • 方法五:np.newaxis
      • 方法六:squeeze
      • 方法七:np.c_

本文将会介绍numpy数组改变形状的7种常用的方法。

方法一:shape

通过给ndarray的属性shape重新赋值来修改数组的形状
改变numpy数组形状的7种常用方法_第1张图片

方法二:reshape

reshape(a, newshape[, order])
改变numpy数组形状的7种常用方法_第2张图片
reshape中还可以只指定一维,另一维为-1,它会自动匹配相应的行或列。
改变numpy数组形状的7种常用方法_第3张图片

方法三:reval

ravel(a[, order])
ravel返回的是一个包含所有元素的一维数组。相当于reshape(-1)。
改变numpy数组形状的7种常用方法_第4张图片

方法四:flatten

ndarray.flatten([order])
改变numpy数组形状的7种常用方法_第5张图片

方法五:np.newaxis

np.newaxis的功能就是增加新的维度,添加在不同的地方,则会在不同的地方增加维度。
例如下图,给array2添加一个np.newaxis,就相当于新数组在np.newaxis位置的维度是1,另一个维度用原数组元素填充。可以根据你的需要添加多个np.newaxis。
改变numpy数组形状的7种常用方法_第6张图片

方法六:squeeze

squeeze(a[, axis])
squeeze也可以展平数组,但是它比较特殊,它只能展平维度是1的部分。
如下图,对于shape是(5,2)的数组它完全没有修改,但是对于array2_1,array2_2,array2_3中,将维度为1的全部删掉了。
改变numpy数组形状的7种常用方法_第7张图片

方法七:np.c_

numpy.c_
不是函数,返回的是一个连接后的ndarray或者是一个矩阵。c表示column,表示从列上增加。
改变numpy数组形状的7种常用方法_第8张图片
好了,本文到这里就结束了,其他内容想了解的可以参考官方文档(https://numpy.org.cn/reference/routines/array-manipulation.html#改变数组形状)
感谢您的阅读~

你可能感兴趣的:(python,numpy,python)