【Python中的numpy.reshape()例子】numpy.reshape()函数在NumPy包中可用。顾名思义, 整形意味着”
形状变化”
。 numpy.reshape()函数可帮助我们在不更改数据的情况下获得数组的新形状。
有时, 我们需要将数据从宽到长整形。因此, 在这种情况下, 我们必须使用reshape()函数对数组进行整形。
句法
numpy.reshape(arr, new_shape, order='C')
参数
reshape()函数具有以下参数:
1)arr:array_like
这是一个ndarray。这是我们要重塑的源数组。此参数是必需的, 并且在numpy.reshape()函数中起着至关重要的作用。
2)new_shape:int或int元组
我们要转换原始数组的形状应与原始数组兼容。如果是整数, 结果将是该长度的一维数组。一种形状尺寸可以为-1。在此, 该值近似于数组的长度和其余维度。
3)顺序:{‘ C’ , ‘ F’ , ‘ A’ }, 可选
这些索引order参数在reshape()函数中起着至关重要的作用。这些索引顺序用于读取源数组的元素, 并使用此索引顺序将元素放置到重新排列的数组中。
- 索引顺序” C” 是指使用类似C的索引顺序读取/写入元素, 其中最后一个轴索引变化最快, 回到第一个轴索引变化最快。
- 索引顺序” F” 是指使用类似Fortran的索引顺序读取/写入元素, 其中最后一个轴索引变化最快, 而第一个轴索引变化最快。
- ” C” 和” F” 顺序不占用基础数组的内存布局量, 仅指索引的顺序。
- 索引顺序” A” 表示在arr在内存中连续时以类似于Fortran的索引顺序读取/写入元素, 否则使用类似于C的顺序。
该函数返回一个ndarray。如果可能, 它是一个新的视图对象;否则, 它将是副本。无法保证返回数组的内存布局。
示例1:类似C的索引排序
import numpy as npx=np.arange(12)y=np.reshape(x, (4, 3))xy
输出
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]])
在上面的代码中
- 我们导入了别名为np的numpy。
- 我们使用np.arrange()函数创建了一个数组’ a’ 。
- 我们已经声明了变量” y” 并分配了np.reshape()函数的返回值。
- 我们已经在函数中传递了数组” x” 和形状。
- 最后, 我们尝试打印arr的值。
示例2:等效于C ravel然后C重塑
import numpy as npx=np.arange(12)y=np.reshape(np.ravel(x), (3, 4))xy
ravel()函数用于创建连续的扁平数组。返回包含输入元素的一维数组。仅在需要时才进行复制。
输出
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]])
示例3:类Fortran索引排序
import numpy as npx=np.arange(12)y=np.reshape(x, (4, 3), order='F')xy
输出
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])array([[ 0, 4, 8], [ 1, 5, 9], [ 2, 6, 10], [ 3, 7, 11]])
在上面的代码中
- 我们导入了别名为np的numpy。
- 我们使用np.arrange()函数创建了一个数组’ a’ 。
- 我们已经声明了变量” y” 并分配了np.reshape()函数的返回值。
- 我们已经在函数中传递了数组” x” 以及形状和类似Fortran的索引顺序。
- 最后, 我们尝试打印arr的值。
示例4:类Fortran索引排序
import numpy as npx=np.arange(12)y=np.reshape(np.ravel(x, order='F'), (4, 3), order='F')xy
输出
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])array([[ 0, 4, 8], [ 1, 5, 9], [ 2, 6, 10], [ 3, 7, 11]])
示例5:未指定的值推断为2
import numpy as npx=np.arange(12)y=np.reshape(x, (2, -1))xy
在上面的代码中
- 我们导入了别名为np的numpy。
- 我们使用np.arrange()函数创建了一个数组’ a’ 。
- 我们已经声明了变量” y” 并分配了np.reshape()函数的返回值。
- 我们已经在函数中传递了数组” x” 和形状(未指定值)。
- 最后, 我们尝试打印arr的值。
输出
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])array([[ 0, 1, 2, 3, 4, 5], [ 6, 7, 8, 9, 10, 11]])
推荐阅读
- NumPy rint()方法
- numpy radians()方法
- Python中的NumPy矩阵乘法实现例子
- Numpy rad2deg()方法示例
- 如何修复Windows 10亮度不起作用(解决办法教程)
- Windows 10如何修复BAD_POOL_HEADER(0x00000019)错误(解决办法)
- 预测最准确的9个最佳天气网站推荐合集(你最喜欢哪一个())
- Windows电脑的10款最佳声音增强器下载推荐合集(哪个最好())
- 如何将视频转换为GIF(Windows的最佳GIF转换器推荐!)