续接上集:
1、reshape函数:重塑数组的形状
改变数组的维度
其语法为 numpy.reshape(arr, newshape, order='C')
如下图所示
首先生成一个1到17不包括17的16个元素的数组,然后对这个数组进行重塑,使其成为4行4列的二维数组,注意:此处数组内元素的个数必须等于reshape中数字相乘的积
2、order="C"/order="F"/order="A"
order参数用于指定重塑后的元素在新数组中的存储顺序。
order='C'表示按行顺序存储,也称为C风格存储。在二维数组中,默认情况下,按行存储意味着每一行的元素会被连续地存储在内存中。
order='F'表示按列顺序存储,也称为Fortran风格存储。与C风格存储相反,在二维数组中,按列存储意味着每一列的元素会被连续地存储在内存中。例如,在一个形状为(3, 4)的二维数组中,第一列的元素会连续存储在内存中,然后是第二列的元素,最后是第三列的元素。
order='A'表示原始顺序存储,如果输入数组是连续的,那么重塑后的数组也将是连续的。这是默认的存储顺序。
3、一维数组索引和切片
ndarray对象的内容可以通过索引或切片来访问和修改,与 Python中 list 的切片操作一样。 ndarray 数组可以基于 0 - n 的下标进行索引,并设置 start, stop 及 step 参数进行,从原数组中切割出一个新数组。其中索引值同样是从0开始
具体操作可看下图,与list列表的切片基本一致
4、二维数组的索引和切片
4.1 二维数组的切片可通过索引直接获取,例如下图所示
图为索引获取,即如果要获取一整行的数组,那么就直接索引行号,获取单个数据的话则是两种索引方式,一种是如上图的写在两个括号内的索引为2的行索引为1的列,以及放在一个括号里的坐标索引2行1列。
4.2 坐标获取
第二张图为坐标获取,括号内逗号两边分别代表行和列,:则代表开始到结束,以及步长,第二张图的最后一条为逗号左边为行,右边为列,括号内为索引行2对应右边的索引列1,索引行3对应索引列0。
4.3 二维数组的负索引的使用
如上图所示,同样是逗号左边是行,逗号右边是列,:为其开始到结尾以及步长
4.4 索引改变数组的值
4.5 切片数组的复制
5、ravel 、flatten、reshape :降维
6、数组的拼接
6.1 concatenate()
用于沿指定轴连接相同形状的两个或多个数组, 格式如下: