Numpy学习

1.Numpy介绍

Numpy(Numerical Python) 是一个开源的Python科学计算库, 用于快速处理任意维度的数组。
Numpy支持常见的数组和矩阵操作。 对于同样的数值计算任务, 使用Numpy比直接使用Python要简洁的多。
Numpy使用ndarray对象来处理多维数组, 该对象是一个快速而灵活的大数据容器。

2 ndarray介绍

NumPy提供了一个N维数组类型ndarray, 它描述了相同类型的“items”的集合。
生成numpy对象:np.array()

Numpy学习_第1张图片

3 ndarray的优势

  • 内存块风格
    • list – 分离式存储,存储内容多样化
    • ndarray – 一体式存储,存储类型必须一样
  • ndarray支持并行化运算(向量化运算)
  • ndarray底层是用C语言写的,效率更高,释放了GIL

4 N维数组-ndarray

4.1 ndarray的属性

Numpy学习_第2张图片

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学习_第3张图片
Numpy学习_第4张图片

5.数组的基本操作

5.1 生成数组的方法

5.1.1 生成0和1的数组

Numpy学习_第5张图片

5.1.2 从现有的数组中生成

Numpy学习_第6张图片
注意这里array 和asarray的区别

5.1.3 生成固定范围的数组

  • 创建等差数组 — 指定数量
  • 参数:
    • start:序列的起始值
    • stop:序列的终止值
    • num:要生成的等间隔样例数量, 默认为50
    • endpoint:序列中是否包含stop值, 默认为ture

Numpy学习_第7张图片

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学习_第8张图片

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学习_第9张图片
    Numpy学习_第10张图片

5.2 数组的索引、 切片

一维、 二维、 三维的数组如何索引?

  • 直接进行索引,切片
  • 对象[:, :] – 先行后列

二维数组索引方式:

  • 举例: 获取第一个股票的前3个交易日的涨跌幅数据
# 二维的数组, 两个维度
stock_change[0, 0:3]

Numpy学习_第11张图片
Numpy学习_第12张图片
Numpy学习_第13张图片

5.3 形状修改

Numpy学习_第14张图片
Numpy学习_第15张图片

5.4 类型修改

Numpy学习_第16张图片
在这里插入图片描述

5.5 数组的去重

Numpy学习_第17张图片

6 ndarray 运算

6.1 逻辑运算

Numpy学习_第18张图片
Numpy学习_第19张图片

6.2 通用判断函数

Numpy学习_第20张图片

6.3 三元运算符

Numpy学习_第21张图片

6.4 统计运算

Numpy学习_第22张图片

6.5 数组间的运算

Numpy学习_第23张图片

6.6 矩阵运算

  • np.matmul
  • np.dot
    Numpy学习_第24张图片

你可能感兴趣的:(机器学习,numpy,学习,python)