学习机器学习、深度学习,为什么要学习python数值计算库numpy?

(此处已添加圈子卡片,请到今日头条客户端查看)

在python中列表中的数据的类型是可以不一致的,比如:

学习机器学习、深度学习,为什么要学习python数值计算库numpy?

这个不会出问题,但是在矩阵中我们应该注意一点需要一个矩阵中的类型应该是一致的,不然会出现类型问题

取矩阵中的值

矩阵形成之后,我们可以通过索引来获取矩阵中的数据,其实矩阵就可以按照数组来理解,索引也是从0开始

学习机器学习、深度学习,为什么要学习python数值计算库numpy?

不指可以简单的使用索引来完成,还可以使用切片来获取

学习机器学习、深度学习,为什么要学习python数值计算库numpy?

详细分析:

print("1",arr1[0:2])

该程序是切片一维arr1,获取arr1中索引为0到2的数据,包含0不包含2

二维数组切片逗号前表示行逗号后表示列,没有逗号那么就是表示行

print("2",arr2[0:2])

该程序是切片二维arr2,获取arr2中行为0到2的数据,包含0不包含2

print("3",arr2[:,2])

该程序是切片arr2,:表示所有也就是所有行,这个总体意思就是切片所有行的第三列

print("4",arr2[:,0:2])

切片所有行的,第一列和第二列

print("5",arr2[1:2,0:1])

切片第二行和第三行的第一列和第二列

运算

判断

学习机器学习、深度学习,为什么要学习python数值计算库numpy?

判断一个矩阵中的数据是否有3,它会每一行每一列的去比较,一致为true,不一致为false

学习机器学习、深度学习,为什么要学习python数值计算库numpy?

我们获取到矩阵中是否有数据有什么用呢?

我们可以把这个相等结果作为索引用来获取我们想要的那个元素:

学习机器学习、深度学习,为什么要学习python数值计算库numpy?

通过程序的编程结果可以看出,输出的flag为查找arr2等于3的判断结果,我们可以通过这个判断结果为索引来获取等于3的那个元素

学习机器学习、深度学习,为什么要学习python数值计算库numpy?

arr2[:,1]==5这个表示为所有行中第2列中等于5的,因为列数固定,所以这个false true false为第二列的匹配结果,就是2==5,5==5,7==5,分别是false,true,false

这里有一个隐含的关系,fasle,true,false中第二个为true那么就表示5在第二行,也就是说第几个为tue也就为第几行

那么我们就可以把这个结果作为行索引,来查找当前元素所在的行

arr[flag1,:]等于arr[flag1]

矩阵类型转换

将矩阵中为字符类型的转成float类型,通过astype方法

学习机器学习、深度学习,为什么要学习python数值计算库numpy?

获取矩阵中的大小值

学习机器学习、深度学习,为什么要学习python数值计算库numpy?

矩阵按行求和,按列求和

学习机器学习、深度学习,为什么要学习python数值计算库numpy?

sum为求和方法,当参数为axis为1的时候为每行求和,当axis为0的时候为每列求和

相关推荐