数据科学包学习第一天

一.numpy

NumPy(Numerical Python)是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix)),支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

二.利用numpy处理矩阵

首先在文件开头要导入模块
在这里插入图片描述
1.创建矩阵:
在这里插入图片描述
输出结果为
在这里插入图片描述

2.矩阵类型
在这里插入图片描述
上图为创建矩阵,并设定为64位的整型
在这里插入图片描述
上图为输出结果。
在这里插入图片描述
上图中,b=np.zeros((3,4))为创建一个shape为三行四列的一个零矩阵。c=np.ones((3,4),dtype=np.int16),意思为创建一个三行四列的一个全1矩阵,并且为16位的整型。
d=np.arange(12).reshape((3,4))是生成一个0-12的一个序列,并reshape成三行四列的一个矩阵。
e=np.linspace(1,10,5) 是生成一个线段,1为开始,10为结束,总共分5段的一行序列。
f=np.linspace(1,20,12).reshape((3,4))是生成一个线段,1为开始,20为结束,总共分12段的一个三行四列的一个矩阵。
在这里插入图片描述
上图为输出结果。

3.矩阵的运算
在这里插入图片描述
上图中,分别先创建g、h两个矩阵,第一个print(g<35)是判断g矩阵中哪些元素大于35,print(h==3)是判断h矩阵哪些元素等于3。i矩阵是g-h,是将g矩阵的每一个元素与h矩阵的每一个元素按位相减,最终得到i矩阵。j矩阵是将g矩阵中的每一个元素进行sin函数求值再乘10后形成的矩阵。
在这里插入图片描述

上图为输出结果。
在这里插入图片描述
上图中,进行了矩阵的乘法,首先创建两个矩阵k、l,m矩阵是k矩阵中的每一个元素与l矩阵中的每一个元素按位相乘所得到的矩阵,不是矩阵的乘法。而np.dot(k,l)或者k.dot(l)才是矩阵中的乘法。
在这里插入图片描述
上图为输出结果。
在这里插入图片描述

上图为矩阵的基本运算,求矩阵中的最大、最小元素,求所有元素之和,求所有行或者所有列的元素之和

4.矩阵索引
在这里插入图片描述
首先创建三行四列的A矩阵,argmax是索引出A矩阵中元素最大值的位置,argmin是索引出A矩阵中元素最小值的位置。mean是求A中所有元素的平均值,median是求出A元素的中位数,cumsum是累加,第一个元素为A的第一个元素,第二个元素时第二个元素为A中第一个和第二个之和,第三个元素为第一二三元素之和,以此类推。diff是累差,第一个元素为A中第二个与第一个之差,第二个元素为A中第三个与第二个之差,以此类推
在这里插入图片描述
上图为输出结果。
在这里插入图片描述
创建B矩阵,sort是将B矩阵每一行进行排序,transpose是将B矩阵进行转置。clip(B,5,9)是将B的元素中小于5的按5输出,大于9的按9输出,5-9之间不变。
创建C矩阵,C[0]是索引C矩阵中第一个元素, C[1][3]是索引C矩阵中第二行第四个元素。flatten是将每个元素分成单独的元素。在这里插入图片描述
上图为输出结果

5.矩阵合并与拆分
在这里插入图片描述
创建A、B、C三个元素A、B是先创建一行列表,通过[:,newaxis]变成列元素,二者通过vstack合并成为C,vstack是将两个元素上下合并。hstack是左右合并。
在这里插入图片描述
上图为创建A元素,将A元素进行切分。axis=1进行行操作,分成等分的两个矩阵。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值