浅谈Numpy的shape和reshape


文章目录

  • 浅谈Numpy的shape和reshape
    • shape
    • reshape


shape

原型:numpy.shape(array)

shape 是 array的一个属性,它能获取矩阵的行列的维度

import numpy as np
array1 = np.array([[1,2,3],[4,5,6]])print(array1.shape)array2 = np.array([[2,4],[6,8],[0,12]])print(np.shape(array2))

输出

(2, 3)(3, 2)

reshape

原型:numpy.reshape(array,newshape,order=‘c’)

array:原矩阵

newshape:整数值或整数元组。新的形状应该兼容于原始形状。如果是一个整数值,表示一个一维数组的长度;如果是元组,表示新数组的行和列数,一个元素值可以为-1,此时该元素值表示为指定,此时会从数组的长度和剩余的维度中推断出

order: {‘C’,‘F’,‘A’},可选
使用此索引顺序读取a的元素,并使用此索引顺序将元素放入reshape d数组中。“C”表示使用类似C的索引顺序读取/写入元素,最后一个轴索引变化最快,返回到第一个轴索引变化最慢。'F’表示使用类似Fortran的索引顺序读/写元素,第一个索引变化最快,最后一个索引变化最慢。请注意,“C”和“F”选项不考虑底层数组的内存布局,只涉及索引的顺序。'A’表示以类似Fortran的索引顺序读取/写入元素,如果a在内存中是Fortran 连续的,否则是C-like顺序。

import numpy as np
array = np.array([[2,4],[6,8],[0,12]])print(array)print(array.reshape((2, 3)))print(array)

输出

[[ 2  4][ 6  8][ 0 12]][[ 2  4  6][ 8  0 12]][[ 2  4][ 6  8][ 0 12]]