目录
(2)、使用np.arange()、np.linspace( )和np.logspace( )
(3)、使用np.zeros( )、np.ones( )、np.empty( )
(4)、np.full( )、np.identity( )、np.eye( )
一、Numpy介绍
1、NumPy(Numerical Python)是高性能科学计算和数据分析的基础包。它极大地简化了多维数组的操作和处理,大部分数据处理软件包都依赖于 NumPy.
2、NumPy 具有以下特点:
(1)NumPy提供了对数组和矩阵进行快速运算的标准数学函数
(2)NumPy 提供了很多矢量运算的接口,比手动用循环实现速度要快很多
(3)NumPy开放源代码,由许多协作者共同维护开发。
二、安装
1、第一种——Anaconda
Anaconda 集成开发平台包含了众多Python包和模块,将其全部打包安装。
2、第二种—— Pyhton
Python标准库中默认不包含 NumPy,因此使用在Python中使用NumPy需要独自安装。
pip install numpy
检查与安装(在命令窗口中检测下载):
****
如果下载不成功可以尝试将python升级(默认升级到最新版本)
python. exe -m pip install --upgrade pip
三、数组对象nadrry
1、定义
NumPy最重要的一个特点是其N维数对象ndarry,它是用于存放同类型元素的多维数组,ndarry中的每个元素在内存中占有相同大小的区域。
导入numpy包并重命名为np
2、对象的创建方法
(1)、使用 np.array()
①、一维数组:
②、二维数组:
(2)、使用np.arange()、np.linspace( )和np.logspace( )
①、np.arange(start,end,step):根据传递的参数,返回等间隔的数组组成的对象
PS:ndarry对象输出时,小数点后的0会自动舍弃。
与range( )用法相似,但arange( )的步长可以为小数。
②、np.linspace( ):创建等差数组,默认为50个数
np.linspace(start,end,number):number表示元素个数
③、np.logspace( start,end,number):创建等比数组,默认number为50个
(3)、使用np.zeros( )、np.ones( )、np.empty( )
①、np.zeros( [shape]):创建指定形状的一维或者多维数组,元素全部为0
shape为数组形状,表示数组各个维度的长度,且只能是整数。
np.zeros([number,X,Y]):number表示数组的个数,X与Y都表示数组的各个维度的长度
②、np.ones( ):创建指定形状的一维或者多维数组,元素全部为1
③、np.empty( [shape]):创建一个指定形状且为初始化的数组,元素为随机元素。
(4)、np.full( )、np.identity( )、np.eye( )
①、np.full(形状,值):创建指定形状的数组,数组中所有元素相同且为指定值
②、np.eye( n,m):创建n*m的单位矩阵,对角线为1,其余为0
③、np.identity( n):创建n*n的单位方阵,对角线为1,其余为0
3、ndarry对象的属性
例子:
(1)、shape
代表数组形状,返回一个元组,表示数组各个维度的长度,元组的长度为数组的维度(与 ndim 相同),元组的每个元素的值代表了数组每个维度的长度
(2)、ndim
ndarry对象的对象
(3)、size
ndarray中元素的个数,相当于各个维度长度的乘积
(4)、dtype
ndarray中存储元素的数据类型
(5)、示例:
四、ndarry对象的形状与重构
1、reshape():将原来数组的数据重新按照维度划分,结束后返回一个新的数组,原来数组本身不发生改变。如果转换的维度和数组元素数目不匹配,则会抛出异常.
2、resize( ):将原来数组的数据重新按照维度划分,结束后不返回新的数组,直接修改.
3、T、transport( )、swapaxes( ):数组的倒置方法。
五、索引和切片
(1)、索引支持正向索引(从左到右,下标从o开始不断增大〉和反向索引(从右到左,下标从-1开始不断减小),与序列的索引和切片操作类似。
(2)、切片操作可通过slice函数,设置start、stop和step参数进行;也可以通过冒号分隔切片参数 start;stop:step进行。
(3)、多维数组的操作与一维相似,每维索引切片直接用逗号分隔
示例:
①
②、
③、
六、Numpy的通用函数
1、数学函数
2、随机函数
3、统计函数
4、其他函数
七、数组运算
1、Numpy的广播机制
(1)numpy中两个数组的相加、相减以及相乘都是对应元素之间的操作。(2)广播机制:当两个数组的形状不相同时,可以通过扩展数组的方法来实现相加、相减、相乘等操作
2、运算类型:
(1)形状相同的数组间运算(2)形状不同的数组间运算
(3)數组和标量间运算(4)数组间的集合运算(5)数组的连接与分割