numpy基础知识随笔(一)
2018-08-30 本文已影响7人
okaw
首先,之所以引入Numpy数组,是因为其在数值运算上的效率要远远高于Python本身提供的list容器,会使代码的书写更加的简洁,高效。
1.需要注意numpy数组中的下标是从0开始的,这在对数组元素进行索引时很重要。例如:
创建一个数组很明显,如图所示,d[0]的结果为0
2.数组的切片,一维数组中d[2:8]要理解为从下标为2的元素开始切片,一直切到该数组的第八个元素。
切片结果3.多维数组的切片,这里把大概能出现的情况都用代码进行了概括,并附有注释。重点需要理解的地方就是多维数组的含义,在常见的三维数组中,当数组的形式为b3=np.arange(24).reshape(2,3,4)时,我们就可以理解为2个3行4列。这样就会把抽象的三维数组具体化。
多维数组的切片操作 对应的切片和索引结果4.多维数组的索引,其实多维数组的索引和切片可以放在一起理解,因为在上图中已经涉及到了多维数组的索引,在这里就不详细的解释了。
5.数组的水平和垂直组合、深度组合。hstack()函数用来实现数组的水平组合,vstack()函数用来实现数组的垂直组合。dstack()函数用来实现数组的深度组合。这里要重点解释一下深度组合的含义:将相同的元组作为参数传给dstack函数,即可完成数组的深度组合,例如有若干张二维平面内的图像点阵数据,我们可以将这些图像数据沿纵轴方向层叠在一起,这就形象地解释了什么是深度组合。
创建两个三行三列数组 创建结果 数组的深度组合和列组合 深度组合结果 数组的水平和垂直组合 水平组合和垂直组合结果能力有限,理解有误的地方欢迎批评指正。待更。。。。。。