1.Numpy介绍
1.1数据类型
为克服列表的缺点,一个NumPy数组 只容纳一种数据类型
,以节约内存。
为方便起见,可将NumPy数组简单分为整数型数组与浮点型数组。
1.2.实际操作
- 想要使用numpy,需要有
import numpy as np
类似头文件的操作 - 使用
np.array()
函数把list转变为numpy数组
- 如果有一个元素是浮点型,那么整个numpy数组就会变成浮点型数组
1.3 同化操作
1.4 类型转换------np.astype(想要转换的类型)
当然,运算也会导致numpy数组发生转型。例如:
2.数组维度
2.1 numpy.shape()--------查看数组的维度
2.2 numpy.reshape()--------重塑数组的维度
3.数组的创建
1.list转换为numpy数组----------np.array()
2.创建递增数组,和list类似------------np.arange()
3.创建同值数组------------np.zeros()【全为0】/np.ones()【全为1】
- 如果想创建其他数值,可以用
该数值*np.ones(形状)
。
4.创建随机数组------------np.random()
1.np.random.random()------0-1均匀分布的浮点型随机数组
- 那么如果我想要生成范围为60-100的形状为3行3列的浮点数组怎么办呢?
- 前面的(100-60)*代表生成0-40的浮点型数组,最后加60,就是60-100的数组啦。
2.np.random.randint(起点,终点,(形状))------均匀分布的整数型随机数组
- 当然,使用前一种方法也可以生成,不过要记得使用
.astype(int)
3.np.random.normal(均值,标准差,(形状))------正态分布的浮点型随机数组
4.访问数组元素
1.数组索引
- 和list一致,不多作解释
2.花式索引
- 注意,花式索引是有两层【】的,普通索引只有一层
3.numpy数组的切片
4.矩阵的切片
- 跳跃取样
1.获取矩阵的行
- 而单独提取行的时候可以简写,如下所示:
- 直接使用
numpy[行号]
即可。
2.获取矩阵的列
- 想把一维数组再变回二维就用reshape((行,列))==------------------
记得有两对括号
3.切片仅是视图,不创建新变量,仅在原数组处修改
4.numpy数组之间的赋值都是绑定------类似指针,都指向同一块内存空间,不产生新空间
5.数组的变形
1.矩阵的转置
- 注意,.T只对矩阵即二维数组有用,所以一维数组需要先.reshape((行,列))升级为二维数组。