NumPy教程-numpy.reshape()在Python中的使用
语法
numpy.reshape(arr, new_shape, order='C')
参数
索引顺序'C'表示使用类似C的索引顺序读取/写入元素,其中最后一个轴索引变化最快,从第一个轴索引变化最慢。 索引顺序'F'表示使用类似Fortran的索引顺序读取/写入元素,其中最后一个轴索引变化最慢,而第一个轴索引变化最快。 'C'和'F'顺序不涉及底层数组的内存布局,只涉及索引的顺序。 索引顺序'A'表示在内存中连续时,按照类似Fortran的索引顺序读取/写入元素,否则使用类似C的顺序。
👉点击领取:最全Python资料合集
返回值
示例 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.arange()函数创建了一个数组'x'。
我们声明了变量'y',并将其赋值为np.reshape()函数的返回值。
我们在函数中传递了数组'x'和形状。
最后,我们尝试打印数组的值。
示例 2:与C ravel然后C reshape等效
import numpy as npx = np.arange(12)y = np.reshape(np.ravel(x), (3, 4))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]])
示例 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.arange()函数创建了一个数组'x'。
我们声明了变量'y',并将其赋值为np.reshape()函数的返回值。
我们在函数中传递了数组'x'、形状和类似Fortran的索引顺序。
最后,我们尝试打印数组的值。
示例 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.arange()函数创建了一个数组'x'。
我们声明了变量'y',并将其赋值为np.reshape()函数的返回值。
我们在函数中传递了数组'x'和形状(未指定值)。
最后,我们尝试打印数组的值。
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]])
1 热门推荐