机器学习|Numpy学习

1.Numpy介绍 Numpy(Numerical Python) 是一个开源的Python科学计算库, 用于快速处理任意维度的数组。
Numpy支持常见的数组和矩阵操作。 对于同样的数值计算任务, 使用Numpy比直接使用Python要简洁的多。
Numpy使用ndarray对象来处理多维数组, 该对象是一个快速而灵活的大数据容器。
2 ndarray介绍 NumPy提供了一个N维数组类型ndarray, 它描述了相同类型的“items”的集合。
生成numpy对象:np.array()
【机器学习|Numpy学习】机器学习|Numpy学习
文章图片

3 ndarray的优势

  • 内存块风格
    • list – 分离式存储,存储内容多样化
    • ndarray – 一体式存储,存储类型必须一样
  • ndarray支持并行化运算(向量化运算)
  • ndarray底层是用C语言写的,效率更高,释放了GIL
4 N维数组-ndarray 4.1 ndarray的属性 机器学习|Numpy学习
文章图片

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的类型 机器学习|Numpy学习
文章图片

机器学习|Numpy学习
文章图片

5.数组的基本操作 5.1 生成数组的方法 5.1.1 生成0和1的数组
机器学习|Numpy学习
文章图片

5.1.2 从现有的数组中生成
机器学习|Numpy学习
文章图片

注意这里array 和asarray的区别
5.1.3 生成固定范围的数组
  • 创建等差数组 — 指定数量
  • 参数:
    • start:序列的起始值
    • stop:序列的终止值
    • num:要生成的等间隔样例数量, 默认为50
    • endpoint:序列中是否包含stop值, 默认为ture
机器学习|Numpy学习
文章图片

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, 只输出一个值
举例1: 生成均值为1.75, 标准差为1的正态分布数据, 100000000个
机器学习|Numpy学习
文章图片

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个值
    机器学习|Numpy学习
    文章图片

    机器学习|Numpy学习
    文章图片
5.2 数组的索引、 切片 一维、 二维、 三维的数组如何索引?
  • 直接进行索引,切片
  • 对象[:, :] – 先行后列
二维数组索引方式:
  • 举例: 获取第一个股票的前3个交易日的涨跌幅数据
# 二维的数组, 两个维度 stock_change[0, 0:3]

机器学习|Numpy学习
文章图片

机器学习|Numpy学习
文章图片

机器学习|Numpy学习
文章图片

5.3 形状修改 机器学习|Numpy学习
文章图片

机器学习|Numpy学习
文章图片

5.4 类型修改 机器学习|Numpy学习
文章图片

机器学习|Numpy学习
文章图片

5.5 数组的去重 机器学习|Numpy学习
文章图片

6 ndarray 运算 6.1 逻辑运算 机器学习|Numpy学习
文章图片

机器学习|Numpy学习
文章图片

6.2 通用判断函数 机器学习|Numpy学习
文章图片

6.3 三元运算符 机器学习|Numpy学习
文章图片

6.4 统计运算 机器学习|Numpy学习
文章图片

6.5 数组间的运算 机器学习|Numpy学习
文章图片

6.6 矩阵运算
  • np.matmul
  • np.dot
    机器学习|Numpy学习
    文章图片

    推荐阅读