最近在学习Python中OpenCV库,学习花了很多时间,发现基础知识很重要,尤其是numpy这个库,在进行程序开发时,处理大量类似数组这种数据结构时,它的重要性等同于Python中的列表,像前篇我们写的《使用Python中OpenCV库创建一幅图片的RGB通道图片》中,对于图片的处理,大部分时间我们是在跟类似数组这种数据结构在打交道。今天,我们来介绍一款处理数组的“神器”,对numpy学习中的一些基础知识进行总结。
NumPy库的学习总结(待续)numpy的全称是NumericalPython(本文全部使用小写,貌似应该写成NumPy这样,但是这不重要),是Python的一个扩展程序库,它不仅针对数组运算提供了大量的函数库,而且它还能够支持维度数组与矩阵运算。重要的是,numpy内部解除了CPython中的全局解释器锁(GIL),运行效率非常好,是处理大量数组类结构和机器学习框架的基础库!
一般使用pipinstallnumpy进行安装,对于进行机器学习和大数据分析的小朋友,强烈推荐安装Anaconda,其中含有大量的机器学习和数据相关的Python模块,安装成功后即可使用了,不用浪费时间了。
安装成功后,我们在Python编译器中进行测试,使用importnumpy,如果不报错,说明我们的numpy安装无误了。
Numpy中定义的最重要使用最频繁的对象就是ndarray的N维数组类型。
它描述相同类型(dtype)的元素集合,可以使用基于零的索引访问集合中的项目,它的类似Python中的列表索引。我们学习numpy库,首先得学习ndarray对象。
ndarray的创建方式如下:
numpy.array(object,dtype=None,copy=True,order=None,subok=False,ndmin=0)
各参数解释如下:
:数组或嵌套的数列
:数组元素的数据类型,可选
:对象能否复制,可选
:创建数组的样式,C为行方向,F为列方向,A为任意方向,默认为A
:默认返回一个与基类类型一致的数组
:指定生成数组的最小维度
下面,我们创建ndarray对象试试看(我使用jupyternotebook截取了几行代码,大家看下用法)。
创建darray对象例子上面我们创建的都是一维数组对象(除了最后一行指定了最小维度为2的那个数组对象)。下面我们看下使用numpy创建多维数组的例子。
创建多维数组我们使用numpy.array()函数创建了多维度的ndarray数组对象,如何理解这个数组对象呢?后续会有很有趣的内容跟大家分享哦,欢迎留言讨论,我们下文会深入介绍如何更好的理解ndarray对象,欢迎持续