## NumPy的应用 Numpy是一个开源的Python科学计算库,**用于快速处理任意维度的数组**。Numpy**支持常见的数组和矩阵操作**,对于同样的数值计算任务,使用NumPy不仅代码要简洁的多,而且NumPy的性能远远优于原生Python,基本是1个到2个数量级的差距,而且数据量越大,NumPy的优势就越明显。 Numpy最为核心的数据类型是`ndarray`,使用`ndarray`可以处理一维、二维和多维数组,该对象相当于是一个快速而灵活的大数据容器。NumPy底层代码使用C语言编写,解决了GIL的限制,`ndarray`在存储数据的时候,数据与数据的地址都是连续的,这样就给使得批量操作速度很快,远远优于Python中的`list`;另一方面`ndarray`对象提供了更多的方法来处理数据,尤其是和统计相关的方法,这些方法也是Python原生的`list`没有的。 ### 安装和导入NumPy 1. 安装 ```Bash pip install numpy ``` 2. 导入 ```Python import numpy as np ``` > **说明**:如果已经启动了Notebook但尚未安装NumPy,可以在单元格中输入`!pip install numpy `并运行该单元格来安装NumPy,安装成功后记得重启Notebook内核来使新安装的库生效。 ### 创建数组对象 1. 一维数组 - 方法一:使用array函数,通过list创建数组对象 - 方法二:使用arange函数,指定取值范围创建数组对象 - 方法三:使用linspace函数,用指定范围均匀间隔的数字创建数组对象 - 方法四:使用numpy.random模块的函数生成随机数创建数组对象 2. 二维数组 - 方法一:使用array函数,通过嵌套的list创建数组对象 - 方法二:使用zeros、ones、full函数指定数组的形状创建数组对象 - 方法三:使用eye函数创建单位矩阵 - 方法四:通过reshape将一维数组变成二维数组 - 方法五:通过numpy.random模块的函数生成随机数创建数组对象 3. 多维数组:跟上面的情况相似,可以通过下面的例子进行了解。 ### 数组对象的属性 1. size属性:数组元素个数 2. itemsize属性:数组单个元素占用内存空间的字节数 3. shape属性:数组的形状 4. dtype属性:数组元素的数据类型 5. ndim属性:数组的维度 6. flat属性:数组(一维化之后)元素的迭代器 7. nbytes属性:数组所有元素占用内存空间的字节数 8. base属性:数组的基对象(如果数组共享了其他数组的内存空间) ### 数组对象的方法 #### 常用方法 #### 统计方法 ####其他方法 ### 数组的运算 #### 标量运算 #### 矢量运算 #### 广播机制 ### 矩阵运算