索引切片
对于二维数组的索引切片,需要将索引和切片配合使用。
一、形状改变
1、reshape数组重塑
reshape将数组形状重塑,从三行五列变为五行三列,其中数组中的元素依次后移。如原来三行五列中的第一行的元素2重塑后变为第二行的元素。
还有一种重塑方法用-1表示最后算,换句话来说如果设定reshap(-1,15)就会自动生成一行,reshape(-1,5)就会自动生成三行五列,但是要注意能够和原始数组对应起来,15个元素无法重塑为三行六列这一类。
2、concatenate叠加
concatenate叠加将两个数组叠加为一个数组。默认为行叠加。
当列数量不对应时就无法行叠加,可以改变叠加方向,变为列叠加。
axis = 0 为默认的行叠加,axis = 1为列方向叠加。
3、split拆分
split只有一个元素时表示要平均分成多少份,当为列表时表示,从第几行划分
同理,split拆分也可以指定方向,axis = 0为默认行拆分,axis = 1为列拆分。
4、数组转置
数组转置不同于数组重塑,数组重塑是接龙的模式,第一行满了后面元素补下一行。而转置是将数组的行变为列,列变为行。转置在numpy中可以写为.T
二、广播
numpy数组有一个非常重要的广播机制,广播机制是一个不断重复自我的过程。
arr1是五行三列的数组,arr2是一行三列的数组,通过广播机制将arr2也变为五行三列的数组,将其求和。
广播机制需要两个数组的形状相同,如果遇到不同形状会导致报错,我们可以通过数组重塑来重新进行广播。
当形状不同时会出现报错,要对数组形状进行重塑。
将1行4列的数组重塑为4行1列数组再进行广播机制求和。
三、通用函数
1、数字函数
常用的数字函数有 sqrt,square,log,sin,cos,maxinmum,minimum等,在之后的机器学习中遇到熟悉即可。
maximum和minimum是返回两个数组中的最大最小值。
2、where函数
where函数,三个参数,条件为真时选择值的数组,条件为假时选择值的数组。
假设现有高考数学成绩,小于0和大于150分都是不合理的,我们需要将这些错误的信息找到并标记成-1024来提示。
个人理解可以将where函数理解为C语言中的条件操作符。
3、集合运算函数
集合运算有交集,差集,并集等。
四、矩阵运算
1、矩阵的乘积(点乘)
2、矩阵的逆
在使用线性代数知识时要导入线性代数的包。