numpy 库
【1】为什么要用numpy
低效的python for 循环
eg: 求100万个数的倒数

%timeit: python 中 统计时间的魔术方法(多次运行取平均值)
实现相同的运算,numpy 的运行速度是python 的25 倍,产生了质的飞跃
【2】numpy 为什么如此高效?
numpy 是由C 语言编写的,对代码进行整体编译,速度更快
numpy 数组内的数据类型必须是统一的,而python 列表支持任意类型的数据填充
C语言可以实现多线程并行,python 语言执行时有线程锁
说明:
多线程,是指从软件或硬件上实现多个线程并发执行的技术,有硬件的支持,计算机能够在同一时间执行多个线程,进而提升整体处理性能,
【3】 什么时候使用numpy?
在数据处理的时候,实现一些向量化、矩阵化操作的时候,要优先考虑用numpy
eg: 两个向量的点乘
矩阵乘法
【4】numpy 数组的创建
4.1从列表开始创建

4.2 设置数组的数据类型

【5】 从头创建数组
5.1 创建长度为5 的数组,值都是0

5.2 创建一个2*4 的浮点型数组,值都为1

5.3 创建一个3*5 的数组,值都为8.8

5.4 创建一个3*3 的单位矩阵

5.5 创建一个线性序列数组,从1开始,到15结束 ,步长为2

5.6 创建一个4个元素的数组,这四个数均匀的分配到0~1

5.7 创建一个10 个元素的数组,形成1~10^9 的等比例数列

5.8 创建一个3*3 的,在0~1 之间均匀分布的随机数构成的数组

5.9 创建一个3*3 ,均值为0 ,标准差为1的正态分布随机 数构成的数组

5.10 创建一个3*3 的,在【0,10 】之间随机整数构成的数组

5.11 随机重排列

5.12 随机采样
按指定形状采样

【6】数组的性质
6.1 数组的属性

6.2 数组的形状shape

6.3 数组的维度 ndim

6.4 数组的大小 size

6.5 数组数据的类型 dtype

【7】 数组的索引
7.1 一维数组的索引

7.2 多维数组的索引 --- 以二维为例

注意: numpy 数组的数据类型是固定的,向一个整型数组插入一个浮点值,浮点值会向下进行取暖

【8】 数组的切片
8.1 一维数组 和列表一样

8.2 多维数组 (以二维为例)

8.3 获取数组的行和列

8.4 切片获取的是视图,而不是副本

说明: 视图元素发生修改,则原数组亦会发生相应的修改

8.5 修改切片的安全方式 :copy

【9】 数组的变形 reshape()

注意:reshape 返回的是视图,而非副本

9.1 一维向量转行向量

浙公网安备 33010602011771号