今天我们继续学习一下Numpy库的学习

废话不多说 ,开始讲

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

比如我们现在想创建一个0-14这样一个15位的数组

可以直接写,但是很麻烦,Numpy中就给我们了一个方便创建的方法

numpy中有一个arange函数

import numpy as np
print(np.arange(15))
a =  np.arange(15).reshape(3,5)
a

运行这段代码以后,可以得到如下结果

Numpy库的学习(三) Python 第1张

这里我们可以看到,我先打印了一下,np.arange(15)这个结果,产生一个0-14的15位数组

然后我们将这个数据,变换成一个矩阵

可以使用reshape这个函数,将我们生成的有序数组,按照规定的方式变换成矩阵

reshape(3,5)这里的意思是,你将要生成的矩阵,是几行几列,这里是3行5列

Numpy库的学习(三) Python 第2张

将你的数组点上shape,可以看到你的矩阵是一个3行5列的矩阵

这个shape也是我们在使用numpy中,经常需要用到的一个函数

下面在讲一下另外一个函数

ndim,它的意思是,查看你所造的矩阵的维度是多少

Numpy库的学习(三) Python 第3张

可以看到,我们刚刚所造的矩阵的维度是2

如何查看当前所造的矩阵的tpey类型是什么

Numpy库的学习(三) Python 第4张

它是一个int32的数据类型

Numpy库的学习(三) Python 第5张

size这个函数,则是说明,我们当前的矩阵的大小是15

也就是矩阵有15个元素

接下来我们讲讲在Numpy中,矩阵的初始化操作

np.zeros((3,4))

这行代码,就将我们的矩阵进行了初始化的操作

也就是初始化一个3行4列的矩阵,而矩阵中的元素全部为0

Numpy库的学习(三) Python 第6张

这里注意的是,传参数一定是个元组的形式,而不是直接传3,4进去,这里需要注意一下

还有一点,我们可以看到,我们生成的矩阵都是0.的类型,这说明Numpy给我们

生成的矩阵都是float类型

比如,我们创建一个都是1的矩阵

np.ones((2,3,4),dtype = np.int32)

我们这里创建一个三维矩阵,传入dtype参书,类型为int32

可以的到如下矩阵

Numpy库的学习(三) Python 第7张

现在我们创建的值,都是为1的,我们可以指定dtype,生成你想要的数据类型

我们继续说,前面我们讲到,创建一个连续的数据

那么我们如果想从,某一个数开始, 到某个数结束,每隔多少,我们变换某个数据

这样可不可以呢?

我们可以通过下面的例子说明

Numpy库的学习(三) Python 第8张

可以看到这个例子,我们的一个数是,起始值,中间的数是终止值,而最后一个数

是说,我们每次要隔几。也就相当于要加几。

再比如:

Numpy库的学习(三) Python 第9张

每次加0.5,得到上面 的矩阵

下面在说说,numpy中的一个产生随机数的模块,也是比较常用的模块,random模块

Numpy库的学习(三) Python 第10张

这里注意,是random.random,也就是说,我们在构造,随机初始化矩阵是0-1之间的一个2行3列矩阵

下面在说另外一个函数,linspace

Numpy库的学习(三) Python 第11张

可以看到这段代码,我们是从0开始,到2倍的pi结束,在这其中,随机的生成100个数据

也就是说,从0开始,到2π结束,在这中间随机取100个值

下面我们在说说,numpy中的加减乘除的操作

a = np.array([(20,30,40,50)])
b = np.arange(4)
print(a)
print(b)
c = a - b
print(c)
c = c -1
print(c)
b**2
print(b**2)
print(a<35)

Numpy库的学习(三) Python 第12张

 

我们这里定义了一个array数组,又定义了一个b,arange(4)也就是[0,1,2,3]

那么,我先来看看如何相减,c=a-b

得到的结果是

[[20 29 38 47]]

 也就是说,numpy中,对于相同纬度的东西进行相减,也就是对应位置上的相减

那么我们接着让C减去一个没有维度的,单独的数值,是什么情况

[[19 28 37 46]]
得到这样一个结果,也就是说,所有的元素都进行相减操作

那么我们让b做一个平方操作,可以看到,b的所有元素都进行了平方操作。

那么对于做大小对比的操作,我们可以看到,对每一个元素都进行了大小判断,是不是小于35,返回True False

我们下来,看看矩阵操作

Numpy库的学习(三) Python 第13张

用a*b,相当于求內积

a.dot(b),相当于行乘以列的操作,1*2+1*3=5,以此类推得到

[[5 4]
 [3 4]]

print(np.dot(a,b)),也是进行一个矩阵的相乘,两种用法都可以实现。得到我们想要矩阵。

好的,今天就先讲到这里!感觉各位阅读,欢迎点赞转发!谢谢各位支持!!

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄