Python-Numpy学习之【ndim、shape、dtype函数的区别】

刚开始学习numpy,对ndim、shape还有dtype这几个函数的含义有些混淆,所以简单记录下。

ndim函数:返回一个数字,确定数组的维度

Python-Numpy学习之【ndim、shape、dtype函数的区别】_第1张图片
备注:个人小技巧(不知道准不准),从列表转数组时,确定数组的维度的话可以看一开始中括号的个数,几个中括号就是几维。

shape函数:返回一个元组,确定各个维度的元素个数

在这里插入图片描述
对于arr11:它是一个一维数组,返回的(4,)代表一维里面有四个元素
对于arr22:它是一个二维数组,返回的(2,3)中 2 代表的是行(row),代表一维里面有2个元素,3代表的是列(column),代表二维里面有3个元素
对于arr33:它是一个三维数组,有些难懂,为了清晰,我把它显示出来,代表一维里面"[ ]“有两个元素,分别是[[1,2,3.0],[4,5,6]]和[[7,8,9],[10,11,12]],二维里面”[[ ]]“有两个元素,分别是[1,2,3.0]和[4,5,6]以及另外一组里的[7,8,9],[10,11,12],三维里面”[[[ ]]]"有三个元素,分别是1和2和3.0 (其他三组我就不列举了)。所以说返回的(2,2,3)代表一维里面有2个元素,二维里面有2个元素,三维里面有3个元素…
其实我觉得三维矩阵也可以这么理解:由2个2x3的矩阵组成。
Python-Numpy学习之【ndim、shape、dtype函数的区别】_第2张图片
同样的四维、五维乃至n维的shape函数含义以此类推,在看高维矩阵的时候,最主要的是关注最后两个数字,从而和我们所学的线性代数的n×m矩阵对应起来,至于前面的数字,就依次代表由几个后面类型的矩阵组成。
举个例子,(2,4,3,5)是个四维矩阵,代表由2个三维矩阵(4,3,5)组成;其中三维矩阵(4,3,5)又代表由4个3×5的二维矩阵组成。

总结:

  1. 元组的元素个数等于维度数
  2. 元组中每一个元素大小又代表中每一维度元素的个数(从左到右,依次为第一维度中元素的个数,第二维度中元素的个数…第n维度元素的个数)

dtype函数:确定数组的数据类型

在这里插入图片描述
为啥arr33是浮点数类型呢?原因在这里,我写的是3.0
Python-Numpy学习之【ndim、shape、dtype函数的区别】_第3张图片

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