## NumPy的应用 Numpy是一个开源的Python科学计算库,**用于快速处理任意维度的数组**。Numpy**支持常见的数组和矩阵操作**,对于同样的数值计算任务,使用NumPy比直接使用Python不仅代码要简洁的多,而且NumPy在性能上远远优于原生Python,基本是1到2个数量级的差距,数据量越大,NumPy的优势就越明显。 Numpy最为核心的数据类型是`ndarray`,使用`ndarray`可以处理一维、二维和多维数组,该对象相当于是一个快速而灵活的大数据容器。NumPy底层代码使用C语言编写,解决了GIL的限制,`ndarray`在存储数据的时候,数据与数据的地址都是连续的,这样就给使得批量操作数组元素时速度很快,远远优于Python中的`list`;另一方面`ndarray`对象提供了更多的方法来处理数据,尤其是和统计相关的方法,这些方法也是原生的`list`没有的。 ### 创建数组对象 1. 一维数组 - 方法一:使用array函数,通过list创建数组对象 - 方法二:使用arange函数,指定取值范围创建数组对象 - 方法三:使用linspace函数,用指定范围均匀间隔的数字创建数组对象 - 方法四:使用numpy.random模块的函数生成随机数创建数组对象 2. 二维数组 - 方法一:使用array函数,通过嵌套的list创建数组对象 - 方法二:使用zeros、ones、full函数指定数组的形状创建数组对象 - 方法三:使用eye函数创建单位矩阵 - 方法四:通过reshape将一维数组变成二维数组 - 方法五:通过numpy.random模块的函数生成随机数创建数组对象 3. 多维数组:跟上面的情况相似,可以通过下面的例子进行了解。 ### 数组对象基本属性 1. size属性:元素个数 2. shape属性:数组的形状 3. dtype属性:元素的数据类型 4. ndim属性:数组的维度 ### 数组对象常用方法 ### 数组的运算 1. 标量运算 2. 矢量运算 ### 数组的其他操作 ### 矩阵运算