1 创建ndarray数组
- ndarray:多维数组
- nd:n维度,多维
- array:数组
1.1 使用np.array()由Python list创建
l = [1,4,2,3,5,6]
a = np.array(l)
a
查看形状:
- 注意:列表没有shape属性
传入的数据类型不同时:
1.2 使用np的常规函数创建
1.2.1 np.ones()
# 三行四列 全是浮点数1.0
np.ones(shape=(3,4))
# 三个 四行五列 全是整数1
np.ones(shape=(3,4,5),dtype=np.int16)
1.2.2 np.zeros()
# 五行五列 全是整数0
np.zeros(shape=(5,5),dtype=np.int16)
1.2.3 np.full()
# 创建全是整数8的3行4列
np.full(shape=(3,4),fill_value=8)
1.2.4 np.eye() 很少用
1.2.5 np.linspace() 重点!!使用频繁!!!
# 0到100的等差数列
# 开始0 结束100 一共51个数
np.linspace(0,100,50,dtype=np.int16)
1.2.6 np.arange()
1.2.7 np.random.randint() 使用频繁!!!
# 随机整数 范围[3,10)
np.random.randint(3,10)
————————————————————————————————————————————
但在图像中是这样看的:
1.2.8 np.random.randn()
1.2.9 np.random.normal()
1.2.10 np.random.random() 记住!!!
# 默认0到1之间
np.random.random()
1.2.11 np.random.rand()
2 ndarray常用属性
3 ndarray基本操作
3.1 ndarray索引
-
一维:
-
二维
n = np.random.randint(0,10,size=(4,5)) n
# 找到最后一个数 2 n[3][4] n[-1][-1] # 简写 n[3,4]
-
三维
-
修改数据:
3.2 ndarray切片
- 一维
- 二维
3.3 案例——图片翻转
- 行翻转
- 列翻转
- 图片翻转
4 ndarray数组
4.1 数组变形——reshape
原本:
变形:
使用-1表示任意剩余维度长度,自动计算!!!
4.2 数组的级联合并
- 原来
- 合并
——————————————————————————————————————————
- 合并
4.3 数组的拆分
- 原本
- vsplit 垂直拆分
- hsplit 水平拆分
- split 水平拆分或垂直拆分
- 案例:把猫拆分
4.4 数组的拷贝/副本/复制——copy
5 ndarray的聚合操作
5.1 求和——sum
5.2 其他聚合函数
6 ndarray矩阵操作
6.1 基本的矩阵操作
两个矩阵之间也可以进行算术运算:对应的元素进行计算
6.2 矩阵乘积
注意:
第一个矩阵的列数=第二个矩阵的行数
6.3 广播机制 【重要!!!!】
——————分割线——————————————————————————————————
6.4 常见数学操作
7 ndarray排序
8 ndarray文件操作
8.1 保存数组
8.2 读取数组
8.3 csv、txt文件的读写操作