一、Numpy是什么
- 一个开源的Python科学计算库
- 可以方便的使用数组、矩阵进行计算
- 包含线性代数、傅里叶变换、随机数生成等大量函数
二、为什么使用Numpy
- 代码更简洁:Numpy直接以数组、矩阵为粒度计算并且支持大量数学函数,而Python需要用for循环从底层实现。
- 性能更高效:Numpy的数组存储效率和输入输出计算性能比Python使用list或者嵌套List好很多
- Numpy的数据存储和Python原生的list是不一样的
- Numpy的大部分代码都是C语言,这是Numpy比纯Python代码高效的原因
Numpy是Python各种数据科学类库的基础库
- 比如SciPy、Scikit-Learn(机器学习)、Tensorflow、PaddlePaddle(深度学习)
三、Numpy的核心array对象及创建方法
- numpy的array对象
- 优于List, array包含数组元数据信息,大量的便捷函数
- array数组元素的数据类型必须一致
- 创建array的方法
- 从Python的列表List和嵌套列表创建array
- 预定义函数创建: arange、ones/ones_like、zeros/zeros_like、empty/empty_like、full/full_like、eye等函数创建
- arange:创建数字序列
arange(start, stop, step)
- ones/ones_like: 创建全是1的数组,(元素默认是浮点数)
- ones(shape,dtype,order)/ones_like(),order可选'C'/'F'行优先/列优先
- zeros/zeros_like:与ones类似
- empty/empty_like:empty的数据未初始化,元素为随机数,默认是浮点数0,若指定数据类型,则元素为任意随机数
- full/full_like: 创建指定元素的array数组
- 生成随机数的np.random模块构建
- array属性
- shape:返回一个元组,表示array维度(形状)
- ndim:一个数字,表示array维度的数目
- size:一个数字,表示array中所有数据元素的数目
- dtype:array中元素的数据类型
- array本身支持大量操作和函数