NumPy数据处理详解的笔记3

第1章NumPy基础

NumPy是用于处理多维数组的数值运算库,不仅可用于 机器学习,还可以用于图像处理,语言处理等任务。

1.4 切片

python编程语言对数组切片功能有支持, NumPy 的ndarray 的切片功能是类似的,还推广到了多维的情况。

1.4.1 何谓切片

所谓切片,是指将数组中特定范围内的元素提取时所使用的 功能,也可以用特定的数值赋值给特定的范围。

1.4.2 切片的使用方法

对于数组中某一个维度的指定方式是start  :stop:step。 索引方式:从左向右为0到n-1,从右向左为-1到-n

省略情况:省略start时  :stop:step          默认的是start=0           省略stop时   start::step         默认的是stop=n-1           省略step时  start:stop           默认的是step=1       全省略时      :                 取整个数组  step为负数时,逆序对一定间隔的元素进行提取。  

1.4.3 向高维数据结构的扩展

只需要将各个维度上的切片组合起来即可。按坐标轴编号的升序 依次指定,在每个维度间,用逗号分隔。

1.5 关于坐标轴和维度

在np.sum,np.average,np.amax等函数中都可以指定axis参数。

1.5.1 ndarray的维度

数组的维度等于数组的形状的元组中的元素的个数。

1.5.2 关于坐标轴

axis 对应为 shape的索引。

1.6 ndarray 的 shape属性

shape元组中的元素值表示相对应的维度内数据的个数,一维数组 shape表示为(R,),一维数组转置得到的纵向量用(R,1)表示。

1.7元素数据类型的种类与指定方法

NumPy的内部使用 C 语言来实现对大量数据的处理。 通过正确地为NumPy指定数据类型,提高代码的执行效率。大部分类型 与 C语言的数据类型是一样的,值得注意的是复数类型。 原则上不推荐在生成了数据之后,再进行数据类型的转换操作。

1.8 副本与视图的区别

分清副本与视图,可以注重到代码的执行速度,减少无意中改变了 数组数据的错误发生。

1.8.1副本与视图

副本:使用了新的内存空间,数据与原数组的数据相同。 视图:指向了原数组的地址。

如果将原本是视图的对象错当成了副本对象,可能会导致致命性的错误, 而相反地,即使将副本对象错误地当作了视图对象使用,也不会出现无意 中破坏数据结构的错误,因而这种错误的情况,问题不大。问题主要体现 在会影响代码的执行性能上了。

参考文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。