1.Numpy介绍 Numpy(Numerical Python) 是一个开源的Python科学计算库, 用于快速处理任意维度的数组。
Numpy支持常见的数组和矩阵操作。 对于同样的数值计算任务, 使用Numpy比直接使用Python要简洁的多。
Numpy使用ndarray对象来处理多维数组, 该对象是一个快速而灵活的大数据容器。
2 ndarray介绍 NumPy提供了一个N维数组类型ndarray, 它描述了相同类型的“items”的集合。
生成numpy对象:np.array()
【机器学习|Numpy学习】
文章图片
3 ndarray的优势
- 内存块风格
- list – 分离式存储,存储内容多样化
- ndarray – 一体式存储,存储类型必须一样
- ndarray支持并行化运算(向量化运算)
- ndarray底层是用C语言写的,效率更高,释放了GIL
文章图片
4.2 ndarray的形状 首先创建一些数组。
# 创建不同形状的数组
>>> a = np.array([[1,2,3],[4,5,6]])
>>> b = np.array([1,2,3,4])
>>> c = np.array([[[1,2,3],[4,5,6]],[[1,2,3],[4,5,6]]])
分别打印出形状
>>> a.shape
>>> b.shape
>>> c.shape
(2, 3) # 二维数组
(4,) # 一维数组
(2, 2, 3) # 三维数组
4.3 ndarray的类型
文章图片
文章图片
5.数组的基本操作 5.1 生成数组的方法 5.1.1 生成0和1的数组
文章图片
5.1.2 从现有的数组中生成
文章图片
注意这里array 和asarray的区别
5.1.3 生成固定范围的数组
- 创建等差数组 — 指定数量
- 参数:
- start:序列的起始值
- stop:序列的终止值
- num:要生成的等间隔样例数量, 默认为50
- endpoint:序列中是否包含stop值, 默认为ture
文章图片
5.1.4 生成随机数组
5.1.4.1 正态分布
- np.random.normal(loc=0.0, scale=1.0, size=None)
loc: float
此概率分布的均值( 对应着整个分布的中心centre)
scale: float
此概率分布的标准差( 对应于分布的宽度, scale越大越矮胖, scale越小, 越瘦高)
size: int or tuple of ints
输出的shape, 默认为None, 只输出一个值
文章图片
5.1.4.2 均匀分布
- np.random.uniform(low=0.0, high=1.0, size=None)
功能: 从一个均匀分布[low,high)中随机采样, 注意定义域是左闭右开, 即包含low, 不包含high.
参数介绍:
low: 采样下界, float类型, 默认值为0;
high: 采样上界, float类型, 默认值为1;
size: 输出样本数目, 为int或元组(tuple)类型, 例如, size=(m,n,k), 则输出mnk个样本, 缺省时输出1个值
文章图片
文章图片
- 直接进行索引,切片
- 对象[:, :] – 先行后列
- 举例: 获取第一个股票的前3个交易日的涨跌幅数据
# 二维的数组, 两个维度
stock_change[0, 0:3]
文章图片
文章图片
文章图片
5.3 形状修改
文章图片
文章图片
5.4 类型修改
文章图片
文章图片
5.5 数组的去重
文章图片
6 ndarray 运算 6.1 逻辑运算
文章图片
文章图片
6.2 通用判断函数
文章图片
6.3 三元运算符
文章图片
6.4 统计运算
文章图片
6.5 数组间的运算
文章图片
6.6 矩阵运算
- np.matmul
- np.dot
文章图片
推荐阅读
- 机器学习|Pandas 学习
- 多元线性回归学习小结
- python|python与java的一些不同简录
- python|合理有效的规划(远程工作者的一天)
- Python入门系列(三)一学就会-基础数据类型
- python|python视频操作——python实现将图片合成为视频
- python|python mysql教程视频_Mysql -1_ Python系列视频(一)——Python语言基础_Python视频-51CTO学院...
- 机器学习|【李航统计学习】第 1 章 统计学习方法概论 笔记
- python 面向对象三大特征